[ Index ] WAROFGENERALS

PHP Cross Reference of WAROFGENERALS MODS SOURCES

title

Body

[close]

/Command and conquer Heure H/Light of five stars/INI/Object/ -> ChemicalGeneral.ini (source)

   1  Object Chem_GLAHole
   2  
   3    ; *** ART Parameters ***
   4    SelectPortrait           = SUHole_L
   5    ButtonImage              = SUHole_L
   6    Draw                     = W3DModelDraw  ModuleTag_01
   7      OkToChangeModelColor   = Yes
   8      ConditionState         = NONE
   9        Model                = UBHole
  10      End
  11      ConditionState         = DAMAGED
  12        Model                = UBHole_D
  13        ParticleSysBone      = Smoke01 SteamVent
  14      End
  15      ConditionState         = REALLYDAMAGED
  16        Model                = UBHole_E
  17        ParticleSysBone      = Smoke01 SteamVent
  18        ParticleSysBone      = Smoke02 SteamVent
  19        ParticleSysBone      = Fire01 GLAPowerPlantFlame
  20        ParticleSysBone      = Fire02 GLAPowerPlantFlame
  21        ParticleSysBone      = Fire03 GLAPowerPlantFlame
  22      End
  23    End
  24    
  25  ; ----------------- the door -------------------
  26    Draw                = W3DModelDraw ModuleTag_02
  27      OkToChangeModelColor   = Yes
  28      DefaultConditionState
  29        Model           = UBHole_A1
  30        Animation       = UBHole_A1.UBHole_A1
  31        AnimationMode   = MANUAL
  32        Flags           = START_FRAME_FIRST
  33      End
  34      ConditionState    = SOLD
  35        Model           = NONE
  36      End   
  37      ConditionState  = SOLD SNOW
  38         Model   = NONE
  39      End    
  40  
  41      ConditionState  = SOLD NIGHT
  42         Model   = NONE
  43      End    
  44  
  45      ConditionState  = SOLD NIGHT SNOW
  46         Model   = NONE
  47      End   
  48      ConditionState    = DAMAGED
  49        Model           = UBHole_A1D
  50        Animation       = UBHole_A1D.UBHole_A1D
  51        AnimationMode   = MANUAL
  52        Flags           = START_FRAME_FIRST
  53      End
  54      ConditionState    = DOOR_1_OPENING
  55        Model           = UBHole_A1
  56        Animation       = UBHole_A1.UBHole_A1
  57        AnimationMode   = ONCE
  58        Flags           = START_FRAME_FIRST
  59      End   
  60      ConditionState    = DOOR_1_OPENING DAMAGED
  61        Model           = UBHole_A1D
  62        Animation       = UBHole_A1D.UBHole_A1D
  63        AnimationMode   = ONCE
  64        Flags           = START_FRAME_FIRST
  65      End
  66      ConditionState    = DOOR_1_CLOSING
  67        Model           = UBHole_A1
  68        Animation       = UBHole_A1.UBHole_A1
  69        AnimationMode   = ONCE_BACKWARDS
  70        Flags           = START_FRAME_LAST
  71      End   
  72      ConditionState    = DOOR_1_CLOSING DAMAGED
  73        Model           = UBHole_A1D
  74        Animation       = UBHole_A1D.UBHole_A1D
  75        AnimationMode   = ONCE_BACKWARDS
  76        Flags           = START_FRAME_LAST
  77      End   
  78      ConditionState    = DOOR_1_WAITING_OPEN
  79        Model           = UBHole_A1
  80        Animation       = UBHole_A1.UBHole_A1
  81        AnimationMode   = MANUAL
  82        Flags           = START_FRAME_LAST
  83      End   
  84      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
  85        Model           = UBHole_A1D
  86        Animation       = UBHole_A1D.UBHole_A1D
  87        AnimationMode   = MANUAL
  88        Flags           = START_FRAME_LAST
  89      End
  90    End  
  91       
  92    PlacementViewAngle       = -135
  93  
  94    ; ***DESIGN parameters ***
  95    DisplayName       = OBJECT:GLAHole
  96    Side              = GLAToxinGeneral
  97    EditorSorting     = SYSTEM
  98    Prerequisites
  99      Object = Chem_GLACommandCenter
 100    End
 101    BuildCost         = 100
 102    BuildTime         = 10.0           ; in seconds
 103    EnergyProduction  = 0
 104    VisionRange       = 50.0           ; Shroud clearing distance
 105    ShroudClearingRange = 50
 106    ArmorSet
 107      Conditions      = None
 108      Armor           = StructureArmor
 109      DamageFX        = StructureDamageFXNoShake
 110    End
 111  
 112    ; *** AUDIO Parameters ***
 113    VoiceSelect = TunnelNetworkSelect
 114    SoundOnDamaged        = BuildingDamagedStateLight
 115    SoundOnReallyDamaged  = BuildingDestroy
 116  
 117    UnitSpecificSounds
 118      UnderConstruction     = UnderConstructionLoop
 119    End
 120  
 121    ; *** ENGINEERING Parameters ***
 122    RadarPriority     = STRUCTURE
 123    KindOf            = PRELOAD STRUCTURE SELECTABLE IMMOBILE REBUILD_HOLE CAN_SEE_THROUGH_STRUCTURE IMMUNE_TO_CAPTURE SCORE_DESTROY MP_COUNT_FOR_VICTORY
 124    Body              = StructureBody ModuleTag_03
 125      ; To set the health for a particular hole, edit the entry in the object
 126      ; that will leave the hole behind (edit the RebuildHoleExposeDie entry)
 127      MaxHealth       = 9999999.9  ;bigger than anything realistic we use
 128      InitialHealth   = 9999999.9  ;bigger than anything realistic we use
 129    End
 130    Behavior                    = RebuildHoleBehavior ModuleTag_04
 131      WorkerObjectName          = GLAInfantryWorker
 132      WorkerRespawnDelay        = 20000 ;in milliseconds
 133      HoleHealthRegen%PerSecond = 0.5%    ;regen this % of HoleMaxHealth per second
 134    End 
 135    
 136    Behavior             = CreateObjectDie ModuleTag_13
 137      CreationList  = OCL_LargeStructureDebris
 138    End
 139    Behavior             = FXListDie ModuleTag_14
 140      DeathFX       = FX_StructureSmallDeath
 141    End
 142    
 143    
 144    
 145    Geometry            = CYLINDER
 146    GeometryMajorRadius = 25.0
 147    GeometryHeight      = 5.0    
 148    GeometryIsSmall     = No
 149    Shadow              = SHADOW_VOLUME
 150    BuildCompletion     = PLACED_BY_PLAYER
 151  
 152  End
 153  
 154  
 155  
 156  
 157  
 158  
 159  ;------------------------------------------------------------------------------
 160  ;GLA Command Center
 161  Object Chem_GLACommandCenter
 162  
 163    ; *** ART Parameters ***
 164    SelectPortrait         = SUHeadquarters_L
 165    ButtonImage            = SUHeadquarters
 166  
 167    ; ----- The actual command center
 168    Draw                   = W3DModelDraw ModuleTag_01
 169       
 170      OkToChangeModelColor = Yes
 171      
 172      ; day
 173      ConditionState       = NONE
 174        Model              = UBCmdHQC
 175        ParticleSysBone    = Smoke01 SteamVent
 176        ParticleSysBone    = Fire01 SmolderingFire
 177        ParticleSysBone    = Fire01 SmolderingSmoke
 178        Animation          = UBCmdHQC.UBCmdHQC
 179        AnimationMode      = LOOP
 180      End
 181      
 182      ConditionState       = DAMAGED
 183        Model              = UBCmdHQC_D
 184        Animation          = UBCmdHQC_D.UBCmdHQC_D
 185        AnimationMode      = LOOP
 186      End
 187      ConditionState       = REALLYDAMAGED RUBBLE
 188        Model              = UBCmdHQC_E
 189        Animation          = UBCmdHQC_E.UBCmdHQC_E
 190        AnimationMode      = LOOP
 191      End
 192      ConditionState         = GARRISONED
 193        Model                = UBCmdHQCE
 194        ParticleSysBone      = Smoke01 SmolderingSmoke
 195        Animation            = UBCmdHQCE.UBCmdHQCE
 196        AnimationMode        = LOOP
 197      End
 198      ConditionState         = DAMAGED GARRISONED
 199        Model                = UBCmdHQCE_D
 200        ParticleSysBone      = Smoke01 SmolderingSmoke
 201        Animation            = UBCmdHQCE_D.UBCmdHQCE_D
 202        AnimationMode        = LOOP
 203      End
 204      ConditionState         = REALLYDAMAGED GARRISONED
 205        Model                = UBCmdHQCE_E
 206        ParticleSysBone      = Smoke01 SmolderingSmoke
 207        Animation            = UBCmdHQCE_E.UBCmdHQCE_E
 208        AnimationMode        = LOOP
 209      End
 210  
 211      ; night    
 212      ConditionState       = NIGHT
 213        Model              = UBCmdHQC_N
 214        ParticleSysBone    = Smoke01 SteamVent
 215        ParticleSysBone    = Fire01 SmolderingFire
 216        ParticleSysBone    = Fire01 SmolderingSmoke
 217        Animation          = UBCmdHQC_N.UBCmdHQC_N
 218        AnimationMode      = LOOP
 219      End
 220      ConditionState       = DAMAGED NIGHT
 221        Model              = UBCmdHQC_DN
 222        Animation          = UBCmdHQC_DN.UBCmdHQC_DN
 223        AnimationMode      = LOOP
 224      End
 225      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
 226        Model              = UBCmdHQC_EN
 227        Animation          = UBCmdHQC_EN.UBCmdHQC_EN
 228        AnimationMode      = LOOP
 229      End
 230      ConditionState         = GARRISONED NIGHT
 231        Model                = UBCmdHQCE_N
 232        ParticleSysBone      = Smoke01 SmolderingSmoke
 233        Animation            = UBCmdHQCE_N.UBCmdHQCE_N
 234        AnimationMode        = LOOP
 235      End
 236      ConditionState         = DAMAGED GARRISONED NIGHT
 237        Model                = UBCmdHQCE_DN
 238        ParticleSysBone      = Smoke01 SmolderingSmoke
 239        Animation            = UBCmdHQCE_DN.UBCmdHQCE_DN
 240        AnimationMode        = LOOP
 241      End
 242      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
 243        Model                = UBCmdHQCE_EN
 244        ParticleSysBone      = Smoke01 SmolderingSmoke
 245        Animation            = UBCmdHQCE_EN.UBCmdHQCE_EN
 246        AnimationMode        = LOOP
 247      End
 248  
 249      ; day snow
 250      ConditionState       = SNOW
 251        Model              = UBCmdHQC_S
 252        ParticleSysBone    = Smoke01 SteamVent
 253        ParticleSysBone    = Fire01 SmolderingFire
 254        ParticleSysBone    = Fire01 SmolderingSmoke
 255        Animation          = UBCmdHQC_S.UBCmdHQC_S
 256        AnimationMode      = LOOP
 257      End   
 258      ConditionState       = DAMAGED SNOW
 259        Model              = UBCmdHQC_DS
 260        Animation          = UBCmdHQC_DS.UBCmdHQC_DS
 261        AnimationMode      = LOOP
 262      End
 263      ConditionState       = REALLYDAMAGED RUBBLE SNOW
 264        Model              = UBCmdHQC_ES
 265        Animation          = UBCmdHQC_ES.UBCmdHQC_ES
 266        AnimationMode      = LOOP
 267      End
 268      ConditionState         = GARRISONED SNOW
 269        Model                = UBCmdHQCE_S
 270        ParticleSysBone      = Smoke01 SmolderingSmoke
 271        Animation            = UBCmdHQCE_S.UBCmdHQCE_S
 272        AnimationMode        = LOOP
 273      End
 274      ConditionState         = DAMAGED GARRISONED SNOW
 275        Model                = UBCmdHQCE_DS
 276        ParticleSysBone      = Smoke01 SmolderingSmoke
 277        Animation            = UBCmdHQCE_DS.UBCmdHQCE_DS
 278        AnimationMode        = LOOP
 279      End
 280      ConditionState         = REALLYDAMAGED GARRISONED SNOW
 281        Model                = UBCmdHQCE_ES
 282        ParticleSysBone      = Smoke01 SmolderingSmoke
 283        Animation            = UBCmdHQCE_ES.UBCmdHQCE_ES
 284        AnimationMode        = LOOP
 285      End
 286  
 287      ; night snow
 288      ConditionState       = NIGHT SNOW
 289        Model              = UBCmdHQC_NS
 290        ParticleSysBone    = Smoke01 SteamVent
 291        ParticleSysBone    = Fire01 SmolderingFire
 292        ParticleSysBone    = Fire01 SmolderingSmoke
 293        Animation          = UBCmdHQC_NS.UBCmdHQC_NS
 294        AnimationMode      = LOOP
 295      End
 296      ConditionState       = DAMAGED NIGHT SNOW
 297        Model              = UBCmdHQC_DNS
 298        Animation          = UBCmdHQC_DNS.UBCmdHQC_DNS
 299        AnimationMode      = LOOP
 300      End
 301      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
 302        Model              = UBCmdHQC_ENS
 303        Animation          = UBCmdHQC_ENS.UBCmdHQC_ENS
 304        AnimationMode      = LOOP
 305      End
 306      ConditionState         = GARRISONED NIGHT SNOW
 307        Model                = UBCmdHQCE_NS
 308        ParticleSysBone      = Smoke01 SmolderingSmoke
 309        Animation            = UBCmdHQCE_NS.UBCmdHQCE_NS
 310        AnimationMode        = LOOP
 311      End
 312      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
 313        Model                = UBCmdHQCE_DNS
 314        ParticleSysBone      = Smoke01 SmolderingSmoke
 315        Animation            = UBCmdHQCE_DNS.UBCmdHQCE_DNS
 316        AnimationMode        = LOOP
 317      End
 318      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
 319        Model                = UBCmdHQCE_ENS
 320        ParticleSysBone      = Smoke01 SmolderingSmoke
 321        Animation            = UBCmdHQCE_ENS.UBCmdHQCE_ENS
 322        AnimationMode        = LOOP
 323      End
 324  
 325          ;**************************************************************************************************************************
 326      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
 327      ;for this draw module
 328      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 329        Model              = UBCmdHQC
 330        Animation          = UBCmdHQC.UBCmdHQC
 331        AnimationMode      = LOOP
 332        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 333      End
 334      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
 335        Model              = UBCmdHQC_D
 336        Animation          = UBCmdHQC_D.UBCmdHQC_D
 337        AnimationMode      = LOOP
 338        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 339      End
 340      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
 341        Model              = UBCmdHQC_E
 342        Animation          = UBCmdHQC_E.UBCmdHQC_E
 343        AnimationMode      = LOOP
 344        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 345      End
 346      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
 347        Model              = UBCmdHQC_N
 348        Animation          = UBCmdHQC_N.UBCmdHQC_N
 349        AnimationMode      = LOOP
 350        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 351      End
 352      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
 353        Model              = UBCmdHQC_DN
 354        Animation          = UBCmdHQC_DN.UBCmdHQC_DN
 355        AnimationMode      = LOOP
 356        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 357      End
 358      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
 359        Model              = UBCmdHQC_EN
 360        Animation          = UBCmdHQC_EN.UBCmdHQC_EN
 361        AnimationMode      = LOOP
 362        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 363      End
 364      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
 365        Model              = UBCmdHQC_S
 366        Animation          = UBCmdHQC_S.UBCmdHQC_S
 367        AnimationMode      = LOOP
 368        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 369      End
 370      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
 371        Model              = UBCmdHQC_DS
 372        Animation          = UBCmdHQC_DS.UBCmdHQC_DS
 373        AnimationMode      = LOOP
 374        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 375      End
 376      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
 377        Model              = UBCmdHQC_ES
 378        Animation          = UBCmdHQC_ES.UBCmdHQC_ES
 379        AnimationMode      = LOOP
 380        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 381      End
 382  
 383      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
 384        Model              = UBCmdHQC_NS
 385        Animation          = UBCmdHQC_NS.UBCmdHQC_NS
 386        AnimationMode      = LOOP
 387        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 388      End
 389      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
 390        Model              = UBCmdHQC_DNS
 391        Animation          = UBCmdHQC_DNS.UBCmdHQC_DNS
 392        AnimationMode      = LOOP
 393        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 394      End
 395      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
 396        Model              = UBCmdHQC_ENS
 397        Animation          = UBCmdHQC_ENS.UBCmdHQC_ENS
 398        AnimationMode      = LOOP
 399        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 400      End
 401  
 402      ConditionState       = AWAITING_CONSTRUCTION 
 403        Model              = NONE
 404      End
 405      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
 406      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
 407      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
 408      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
 409      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
 410      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
 411      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
 412      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
 413      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
 414      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
 415      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
 416      AliasConditionState  = SOLD 
 417      AliasConditionState  = SOLD DAMAGED
 418      AliasConditionState  = SOLD REALLYDAMAGED
 419      AliasConditionState  = SOLD NIGHT
 420      AliasConditionState  = SOLD NIGHT DAMAGED
 421      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
 422      AliasConditionState  = SOLD SNOW
 423      AliasConditionState  = SOLD SNOW DAMAGED
 424      AliasConditionState  = SOLD SNOW REALLYDAMAGED
 425      AliasConditionState  = SOLD NIGHT SNOW
 426      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
 427      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
 428      AliasConditionState  = GARRISONED SOLD 
 429      AliasConditionState  = GARRISONED SOLD DAMAGED
 430      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
 431      AliasConditionState  = GARRISONED SOLD NIGHT
 432      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
 433      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
 434      AliasConditionState  = GARRISONED SOLD SNOW
 435      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
 436      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
 437      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
 438      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
 439      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
 440      ;**************************************************************************************************************************
 441    End
 442  
 443    PlacementViewAngle = -135
 444  
 445    ; ------------ construction done flashing lights ----------
 446  ;  Draw = W3DModelDraw
 447  ;    DefaultConditionState
 448  ;      Model           = None
 449  ;    End
 450  ;    ConditionState    = SOLD
 451  ;      Model           = NONE
 452  ;    End    
 453  ;    ConditionState    = CONSTRUCTION_COMPLETE
 454  ;      Model           = ABWarFact_A2
 455  ;      Animation       = ABWarFact_A2.ABWarFact_A2
 456  ;      AnimationMode   = LOOP
 457  ;      Flags           = START_FRAME_FIRST
 458  ;    End  
 459  ;  End
 460      
 461    ; ------------ construction-zone fence -----------------
 462    Draw                = W3DModelDraw ModuleTag_02
 463    AnimationsRequirePower = No
 464      DefaultConditionState
 465        Model           = None
 466        TransitionKey   = DOWN_DEFAULT
 467      End
 468      ConditionState    = NIGHT
 469        Model           = None
 470        TransitionKey   = DOWN_DEFAULT
 471      End
 472      ConditionState    = SNOW
 473        Model           = None
 474        TransitionKey   = DOWN_DEFAULT
 475      End
 476      ConditionState    = SNOW NIGHT
 477        Model           = None
 478        TransitionKey   = DOWN_DEFAULT
 479      End
 480      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 481        Model           = UBCmdHQ_A4
 482        Animation       = UBCmdHQ_A4.UBCmdHQ_A4
 483        AnimationMode   = MANUAL
 484        Flags           = START_FRAME_LAST
 485        TransitionKey   = UP_DAY
 486      End
 487      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 488        Model           = UBCmdHQ_A4N
 489        Animation       = UBCmdHQ_A4N.UBCmdHQ_A4N
 490        AnimationMode   = MANUAL
 491        Flags           = START_FRAME_LAST
 492        TransitionKey   = UP_NIGHT
 493      End
 494      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 495        Model           = UBCmdHQ_A4S
 496        Animation       = UBCmdHQ_A4S.UBCmdHQ_A4S
 497        AnimationMode   = MANUAL
 498        Flags           = START_FRAME_LAST
 499        TransitionKey   = UP_SNOW
 500      End
 501      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
 502        Model           = UBCmdHQ_A4SN
 503        Animation       = UBCmdHQ_A4SN.UBCmdHQ_A4SN
 504        AnimationMode   = MANUAL
 505        Flags           = START_FRAME_LAST
 506        TransitionKey   = UP_SNOWNIGHT
 507      End
 508      TransitionState   = DOWN_DEFAULT UP_DAY
 509        Model           = UBCmdHQ_A4
 510        Animation       = UBCmdHQ_A4.UBCmdHQ_A4
 511        AnimationMode   = ONCE
 512        AnimationSpeedFactorRange = 1.0 1.0
 513        Flags           = START_FRAME_FIRST
 514      End
 515      TransitionState   = DOWN_DEFAULT UP_NIGHT
 516        Model           = UBCmdHQ_A4N
 517        Animation       = UBCmdHQ_A4N.UBCmdHQ_A4N
 518        AnimationMode   = ONCE
 519        AnimationSpeedFactorRange = 1.0 1.0
 520        Flags           = START_FRAME_FIRST
 521      End
 522      TransitionState   = DOWN_DEFAULT UP_SNOW
 523        Model           = UBCmdHQ_A4S
 524        Animation       = UBCmdHQ_A4S.UBCmdHQ_A4S
 525        AnimationMode   = ONCE
 526        AnimationSpeedFactorRange = 1.0 1.0
 527        Flags           = START_FRAME_FIRST
 528      End
 529      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
 530        Model           = UBCmdHQ_A4SN
 531        Animation       = UBCmdHQ_A4SN.UBCmdHQ_A4SN
 532        AnimationMode   = ONCE
 533        AnimationSpeedFactorRange = 1.0 1.0
 534        Flags           = START_FRAME_FIRST
 535      End
 536      TransitionState   = UP_DAY DOWN_DEFAULT
 537        Model           = UBCmdHQ_A4
 538        Animation       = UBCmdHQ_A4.UBCmdHQ_A4
 539        AnimationMode   = ONCE_BACKWARDS
 540        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 541        Flags           = START_FRAME_LAST
 542      End
 543      TransitionState   = UP_NIGHT DOWN_DEFAULT
 544        Model           = UBCmdHQ_A4N
 545        Animation       = UBCmdHQ_A4N.UBCmdHQ_A4N
 546        AnimationMode   = ONCE_BACKWARDS
 547        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 548        Flags           = START_FRAME_LAST
 549      End
 550      TransitionState   = UP_SNOW DOWN_DEFAULT
 551        Model           = UBCmdHQ_A4S
 552        Animation       = UBCmdHQ_A4S.UBCmdHQ_A4S
 553        AnimationMode   = ONCE_BACKWARDS
 554        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 555        Flags           = START_FRAME_LAST
 556      End
 557      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
 558        Model           = UBCmdHQ_A4SN
 559        Animation       = UBCmdHQ_A4SN.UBCmdHQ_A4SN
 560        AnimationMode   = ONCE_BACKWARDS
 561        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 562        Flags           = START_FRAME_LAST
 563      End
 564    End
 565  
 566    ; ------------ under-construction scaffolding -----------------
 567    Draw                = W3DModelDraw ModuleTag_03
 568    AnimationsRequirePower = No
 569      MinLODRequired = MEDIUM
 570      DefaultConditionState
 571        Model           = None
 572        TransitionKey   = DOWN_DEFAULT
 573      End
 574      ConditionState    = NIGHT
 575        Model           = None
 576        TransitionKey   = DOWN_DEFAULT
 577      End
 578      ConditionState    = SNOW
 579        Model           = None
 580        TransitionKey   = DOWN_DEFAULT
 581      End
 582      ConditionState    = SNOW NIGHT
 583        Model           = None
 584        TransitionKey   = DOWN_DEFAULT
 585      End
 586      ConditionState    = PARTIALLY_CONSTRUCTED
 587        Model           = UBCmdHQ_A6
 588        Animation       = UBCmdHQ_A6.UBCmdHQ_A6
 589        AnimationMode   = MANUAL
 590        Flags           = START_FRAME_LAST
 591        TransitionKey   = UP_DAY
 592        ParticleSysBone = Dust01 BuildingDust
 593        ParticleSysBone = Smoke01 BuildUpSmoke
 594        ParticleSysBone = Smoke02 BuildUpSmoke
 595        ParticleSysBone = Smoke03 BuildUpSmoke
 596      End
 597      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
 598        Model           = UBCmdHQ_A6S
 599        Animation       = UBCmdHQ_A6S.UBCmdHQ_A6S
 600        AnimationMode   = MANUAL
 601        Flags           = START_FRAME_LAST
 602        TransitionKey   = UP_SNOW
 603        ParticleSysBone = Dust01 BuildingSnowDust
 604        ParticleSysBone = Smoke01 BuildUpSnowSmoke
 605        ParticleSysBone = Smoke02 BuildUpSnowSmoke
 606        ParticleSysBone = Smoke03 BuildUpSnowSmoke
 607      End
 608      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
 609        Model           = UBCmdHQ_A6N
 610        Animation       = UBCmdHQ_A6N.UBCmdHQ_A6N
 611        AnimationMode   = MANUAL
 612        Flags           = START_FRAME_LAST
 613        TransitionKey   = UP_NIGHT
 614        ParticleSysBone = Dust01 BuildingDust
 615        ParticleSysBone = Smoke01 BuildUpSmoke
 616        ParticleSysBone = Smoke02 BuildUpSmoke
 617        ParticleSysBone = Smoke03 BuildUpSmoke
 618      End
 619      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
 620        Model           = UBCmdHQ_A6SN
 621        Animation       = UBCmdHQ_A6SN.UBCmdHQ_A6SN
 622        AnimationMode   = MANUAL
 623        Flags           = START_FRAME_LAST
 624        TransitionKey   = UP_SNOWNIGHT
 625        ParticleSysBone = Dust01 BuildingNightSnowDust
 626        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
 627        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
 628        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
 629      End
 630      TransitionState   = DOWN_DEFAULT UP_DAY
 631       Model            = UBCmdHQ_A6
 632        Animation       = UBCmdHQ_A6.UBCmdHQ_A6
 633        AnimationMode   = ONCE
 634        AnimationSpeedFactorRange = 1.0 1.0
 635        Flags           = START_FRAME_FIRST
 636      End
 637      TransitionState   = DOWN_DEFAULT UP_NIGHT
 638       Model            = UBCmdHQ_A6N
 639        Animation       = UBCmdHQ_A6N.UBCmdHQ_A6N
 640        AnimationMode   = ONCE
 641        AnimationSpeedFactorRange = 1.0 1.0
 642        Flags           = START_FRAME_FIRST
 643      End
 644      TransitionState   = DOWN_DEFAULT UP_SNOW
 645       Model            = UBCmdHQ_A6S
 646        Animation       = UBCmdHQ_A6S.UBCmdHQ_A6S
 647        AnimationMode   = ONCE
 648        AnimationSpeedFactorRange = 1.0 1.0
 649        Flags           = START_FRAME_FIRST
 650      End
 651      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
 652       Model            = UBCmdHQ_A6SN
 653        Animation       = UBCmdHQ_A6SN.UBCmdHQ_A6SN
 654        AnimationMode   = ONCE
 655        AnimationSpeedFactorRange = 1.0 1.0
 656        Flags           = START_FRAME_FIRST
 657      End
 658      TransitionState   = UP_DAY DOWN_DEFAULT
 659        Model           = UBCmdHQ_A6
 660        Animation       = UBCmdHQ_A6.UBCmdHQ_A6
 661        AnimationMode   = ONCE_BACKWARDS
 662        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 663        Flags           = START_FRAME_LAST
 664      End
 665      TransitionState   = UP_NIGHT DOWN_DEFAULT
 666        Model           = UBCmdHQ_A6N
 667        Animation       = UBCmdHQ_A6N.UBCmdHQ_A6N
 668        AnimationMode   = ONCE_BACKWARDS
 669        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 670        Flags           = START_FRAME_LAST
 671      End
 672      TransitionState   = UP_SNOW DOWN_DEFAULT
 673        Model           = UBCmdHQ_A6S
 674        Animation       = UBCmdHQ_A6S.UBCmdHQ_A6S
 675        AnimationMode   = ONCE_BACKWARDS
 676        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 677        Flags           = START_FRAME_LAST
 678      End
 679      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
 680        Model           = UBCmdHQ_A6SN
 681        Animation       = UBCmdHQ_A6SN.UBCmdHQ_A6SN
 682        AnimationMode   = ONCE_BACKWARDS
 683        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
 684        Flags           = START_FRAME_LAST
 685      End
 686    End
 687  
 688    ; Officers club flag
 689    Draw = W3DModelDraw ModuleTag_OfficersClub
 690      OkToChangeModelColor = No
 691  
 692      ConditionState       = NONE
 693        Model              = None
 694      End
 695      AliasConditionState  = DAMAGED
 696      AliasConditionState  = REALLYDAMAGED
 697      AliasConditionState  = RUBBLE
 698      AliasConditionState  = REALLYDAMAGED RUBBLE
 699      ConditionState       = PREORDER
 700        Model              = OCFlagGLA
 701        Animation          = OCFlagGLA.OCFlagGLA
 702        AnimationMode      = LOOP
 703        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 704      End
 705  ;    ConditionState       = PREORDER DAMAGED
 706  ;      Model              = OCFlagGLA_D
 707  ;      Animation          = OCFlagGLA_D.OCFlagGLA_D
 708  ;      AnimationMode      = LOOP
 709  ;      Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 710  ;    End
 711  ;    ConditionState       = PREORDER REALLYDAMAGED RUBBLE
 712  ;      Model              = OCFlagGLA_E
 713  ;      Animation          = OCFlagGLA_E.OCFlagGLA_E
 714  ;      AnimationMode      = LOOP
 715  ;      Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
 716  ;    End
 717    End
 718  
 719    ; ***DESIGN parameters ***
 720    DisplayName         = OBJECT:CommandCenter
 721    Side                = GLAToxinGeneral
 722    EditorSorting       = STRUCTURE
 723    BuildCost           = 2000
 724    BuildTime           = 45.0           ; in seconds
 725    EnergyProduction    = 0  ;Command center should be free
 726    CommandSet          = Chem_GLACommandCenterCommandSet
 727    VisionRange         = 300.0           ; Shroud clearing distance
 728    ShroudClearingRange = 300
 729    ArmorSet
 730      Conditions        = None
 731      Armor             = StructureArmorTough
 732      DamageFX          = StructureDamageFXNoShake
 733    End
 734    ArmorSet
 735      Conditions        = PLAYER_UPGRADE
 736      Armor             = GLAUpgradedStructureArmorTough
 737      DamageFX          = StructureDamageFXNoShake
 738    End
 739    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
 740  
 741    ; *** AUDIO Parameters ***
 742    VoiceSelect         = CommandCenterGLASelect
 743    SoundOnDamaged        = BuildingDamagedStateLight
 744    SoundOnReallyDamaged  = BuildingDestroy
 745  
 746    UnitSpecificSounds
 747      UnderConstruction     = UnderConstructionLoop
 748    End
 749  
 750  
 751    ; *** ENGINEERING Parameters ***
 752    RadarPriority       = STRUCTURE
 753    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE COMMANDCENTER CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE
 754    Body                = StructureBody ModuleTag_04
 755      MaxHealth         = 5000.0
 756      InitialHealth     = 5000.0
 757  
 758      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
 759      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
 760      SubdualDamageCap = 5200
 761      SubdualDamageHealRate = 500
 762      SubdualDamageHealAmount = 100
 763    End
 764  
 765    Behavior        = ArmorUpgrade ModuleTag_Armor01
 766      TriggeredBy   = Upgrade_GLAFortifiedStructure
 767    End
 768  
 769    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
 770      ConditionFlag = GARRISONED
 771      TriggeredBy   = Upgrade_GLAFortifiedStructure
 772    End
 773  
 774    Behavior = PreorderCreate ModuleTag_PreorderCreate
 775    End
 776  
 777    Behavior = ProductionUpdate ModuleTag_05
 778      ; nothing
 779    End
 780    Behavior = DefaultProductionExitUpdate ModuleTag_06
 781      UnitCreatePoint   = X: 25.0  Y:  0.0   Z:0.0
 782      NaturalRallyPoint = X: 65.0  Y:  0.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
 783    End
 784    Behavior             = RebuildHoleExposeDie ModuleTag_07
 785      HoleName      = GLAHoleCommandCenter
 786      HoleMaxHealth = 500.0
 787    End
 788    Behavior             = DestroyDie ModuleTag_08
 789      ;nothing
 790    End  
 791    Behavior             = CreateObjectDie ModuleTag_09
 792      CreationList  = OCL_LargeStructureDebris
 793    End
 794    Behavior             = FXListDie ModuleTag_10
 795      DeathFX       = FX_StructureMediumDeath
 796    End
 797  
 798    Behavior           = OCLSpecialPower ModuleTag_11
 799      SpecialPowerTemplate = Chem_SuperweaponRebelAmbush
 800      UpgradeOCL           = Chem_SCIENCE_RebelAmbush3 Chem_SUPERWEAPON_RebelAmbush3
 801      UpgradeOCL           = Chem_SCIENCE_RebelAmbush2 Chem_SUPERWEAPON_RebelAmbush2
 802      OCL                  = Chem_SUPERWEAPON_RebelAmbush1
 803      CreateLocation       = CREATE_AT_LOCATION
 804      OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs.
 805    End
 806  
 807    Behavior           = OCLSpecialPower ModuleTag_12
 808      SpecialPowerTemplate = SuperweaponBlackMarketNuke
 809      OCL                  = SUPERWEAPON_BlackMarketNuke
 810      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
 811    End
 812  
 813    Behavior           = OCLSpecialPower ModuleTag_13
 814      SpecialPowerTemplate = SuperweaponAnthraxBomb
 815      OCL                  = SUPERWEAPON_AnthraxBomb
 816      CreateLocation       = CREATE_AT_EDGE_NEAR_SOURCE
 817    End
 818    Behavior           = OCLSpecialPower ModuleTag_14
 819      SpecialPowerTemplate = SuperweaponEmergencyRepair
 820      UpgradeOCL           = SCIENCE_EmergencyRepair3 SUPERWEAPON_RepairVehicles3
 821      UpgradeOCL           = SCIENCE_EmergencyRepair2 SUPERWEAPON_RepairVehicles2
 822      OCL                  = SUPERWEAPON_RepairVehicles1
 823      CreateLocation       = CREATE_AT_LOCATION
 824    End
 825    Behavior           = OCLSpecialPower ModuleTag_21
 826      SpecialPowerTemplate = SuperweaponSneakAttack
 827      OCL                  = OCL_CreateSneakAttackTunnelStart
 828      CreateLocation       = CREATE_AT_LOCATION
 829      ReferenceObject      = GLASneakAttackTunnelNetwork ;So we know what the final product is for script placement calculations
 830    End
 831    Behavior           = OCLSpecialPower ModuleTag_22
 832      SpecialPowerTemplate = SuperweaponGPSScrambler
 833      OCL                  = SUPERWEAPON_GPSScrambler
 834      CreateLocation       = CREATE_AT_LOCATION
 835    End
 836  
 837  
 838    Behavior = CashBountyPower ModuleTag_15
 839      SpecialPowerTemplate    = SpecialAbilityCashBounty1
 840      Bounty                  = 5%
 841    End
 842    Behavior = CashBountyPower ModuleTag_16
 843      SpecialPowerTemplate    = SpecialAbilityCashBounty2
 844      Bounty                  = 10%
 845    End
 846    Behavior = CashBountyPower ModuleTag_17
 847      SpecialPowerTemplate    = SpecialAbilityCashBounty3
 848      Bounty                  = 20%
 849    End
 850   
 851    Behavior = FlammableUpdate ModuleTag_19
 852      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
 853      AflameDamageAmount = 5       ; taking this much damage...
 854      AflameDamageDelay = 500       ; this often.
 855    End
 856  
 857    Behavior = TransitionDamageFX ModuleTag_20
 858      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
 859      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
 860      ;---------------------------------------------------------------------------------------
 861      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
 862      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
 863      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
 864    End
 865  
 866  ;Toxin General gets these for free.
 867    Behavior = GrantUpgradeCreate ModuleTag_23
 868      UpgradeToGrant     = Upgrade_GLAToxinShells
 869    End
 870  
 871    Behavior = GrantUpgradeCreate ModuleTag_24
 872      UpgradeToGrant = Upgrade_GLAAnthraxBeta
 873    End
 874  
 875    Geometry            = BOX
 876    GeometryMajorRadius = 65.0
 877    GeometryMinorRadius = 65.0
 878    GeometryHeight      = 54.0
 879    FactoryExitWidth    = 25 
 880    GeometryIsSmall     = No
 881    Shadow              = SHADOW_VOLUME
 882    BuildCompletion     = PLACED_BY_PLAYER
 883  
 884  End
 885  
 886  ;------------------------------------------------------------------------------
 887  ObjectReskin Chem_GLAHoleCommandCenter Chem_GLAHole
 888    Draw                     = W3DModelDraw ModuleTag_01
 889      OkToChangeModelColor   = Yes
 890      ConditionState         = NONE
 891        Model                = UBHole
 892      End
 893      ConditionState         = DAMAGED
 894        Model                = UBHole_D
 895        ParticleSysBone      = Smoke01 SteamVent
 896      End
 897      ConditionState         = REALLYDAMAGED RUBBLE
 898        Model                = UBHole_E
 899        ParticleSysBone      = Smoke01 SteamVent
 900        ParticleSysBone      = Smoke02 SteamVent
 901        ParticleSysBone      = Fire01 GLAPowerPlantFlame
 902        ParticleSysBone      = Fire02 GLAPowerPlantFlame
 903        ParticleSysBone      = Fire03 GLAPowerPlantFlame
 904      End
 905    End
 906    Draw                     = W3DModelDraw ModuleTag_02
 907      OkToChangeModelColor   = Yes
 908      ConditionState         = NONE
 909        Model                = UBCmdHQ_R
 910        ParticleSysBone      = Smoke01 SmolderingSmoke
 911        ParticleSysBone      = Smoke02 SmolderingSmoke
 912        ParticleSysBone      = Smoke03 SmolderingSmoke
 913        ParticleSysBone      = Smoke04 SmolderingSmoke
 914      End
 915      ConditionState         = DAMAGED REALLYDAMAGED RUBBLE
 916        Model                = UBCmdHQ_R
 917        ParticleSysBone      = Smoke01 SmolderingSmoke
 918        ParticleSysBone      = Smoke02 SmolderingSmoke
 919        ParticleSysBone      = Smoke03 SmolderingSmoke
 920        ParticleSysBone      = Smoke04 SmolderingSmoke
 921      End
 922    End
 923  End
 924  
 925  
 926  
 927  
 928  ;------------------------------------------------------------------------------
 929  ;Fake GLA Command Center
 930  Object Chem_FakeGLACommandCenter
 931  
 932    ; *** ART Parameters ***
 933    SelectPortrait         = SUHeadquarters_L
 934    ButtonImage            = SUHeadquarters
 935  
 936  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
 937  
 938    ; ----- The actual command center
 939    Draw                   = W3DModelDraw ModuleTag_01
 940       
 941      OkToChangeModelColor = Yes
 942      
 943      ; day
 944      ConditionState       = NONE
 945        Model              = UBCmdHQC
 946        ParticleSysBone    = Smoke01 SteamVent
 947        ParticleSysBone    = Fire01 SmolderingFire
 948        ParticleSysBone    = Fire01 SmolderingSmoke
 949        Animation          = UBCmdHQC.UBCmdHQC
 950        AnimationMode      = LOOP
 951      End
 952      
 953      ConditionState       = DAMAGED
 954        Model              = UBCmdHQC_D
 955        Animation          = UBCmdHQC_D.UBCmdHQC_D
 956        AnimationMode      = LOOP
 957      End
 958      ConditionState       = REALLYDAMAGED RUBBLE
 959        Model              = UBCmdHQC_E
 960        Animation          = UBCmdHQC_E.UBCmdHQC_E
 961        AnimationMode      = LOOP
 962      End
 963      ConditionState         = GARRISONED
 964        Model                = UBCmdHQEG
 965        ParticleSysBone      = Smoke01 SmolderingSmoke
 966        Animation            = UBCmdHQEG.UBCmdHQEG
 967        AnimationMode        = LOOP
 968      End
 969      ConditionState         = DAMAGED GARRISONED
 970        Model                = UBCmdHQEG_D
 971        ParticleSysBone      = Smoke01 SmolderingSmoke
 972        Animation            = UBCmdHQEG_D.UBCmdHQEG_D
 973        AnimationMode        = LOOP
 974      End
 975      ConditionState         = REALLYDAMAGED GARRISONED
 976        Model                = UBCmdHQEG_E
 977        ParticleSysBone      = Smoke01 SmolderingSmoke
 978        Animation            = UBCmdHQEG_E.UBCmdHQEG_E
 979        AnimationMode        = LOOP
 980      End
 981  
 982      ; night    
 983      ConditionState       = NIGHT
 984        Model              = UBCmdHQC_N
 985        ParticleSysBone    = Smoke01 SteamVent
 986        ParticleSysBone    = Fire01 SmolderingFire
 987        ParticleSysBone    = Fire01 SmolderingSmoke
 988        Animation          = UBCmdHQC_N.UBCmdHQC_N
 989        AnimationMode      = LOOP
 990      End
 991      ConditionState       = DAMAGED NIGHT
 992        Model              = UBCmdHQC_DN
 993        Animation          = UBCmdHQC_DN.UBCmdHQC_DN
 994        AnimationMode      = LOOP
 995      End
 996      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
 997        Model              = UBCmdHQC_EN
 998        Animation          = UBCmdHQC_EN.UBCmdHQC_EN
 999        AnimationMode      = LOOP
1000      End
1001      ConditionState         = GARRISONED NIGHT
1002        Model                = UBCmdHQEG_N
1003        ParticleSysBone      = Smoke01 SmolderingSmoke
1004        Animation            = UBCmdHQEG_N.UBCmdHQEG_N
1005        AnimationMode        = LOOP
1006      End
1007      ConditionState         = DAMAGED GARRISONED NIGHT
1008        Model                = UBCmdHQEG_DN
1009        ParticleSysBone      = Smoke01 SmolderingSmoke
1010        Animation            = UBCmdHQEG_DN.UBCmdHQEG_DN
1011        AnimationMode        = LOOP
1012      End
1013      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
1014        Model                = UBCmdHQEG_EN
1015        ParticleSysBone      = Smoke01 SmolderingSmoke
1016        Animation            = UBCmdHQEG_EN.UBCmdHQEG_EN
1017        AnimationMode        = LOOP
1018      End
1019  
1020      ; day snow
1021      ConditionState       = SNOW
1022        Model              = UBCmdHQC_S
1023        ParticleSysBone    = Smoke01 SteamVent
1024        ParticleSysBone    = Fire01 SmolderingFire
1025        ParticleSysBone    = Fire01 SmolderingSmoke
1026        Animation          = UBCmdHQC_S.UBCmdHQC_S
1027        AnimationMode      = LOOP
1028      End   
1029      ConditionState       = DAMAGED SNOW
1030        Model              = UBCmdHQC_DS
1031        Animation          = UBCmdHQC_DS.UBCmdHQC_DS
1032        AnimationMode      = LOOP
1033      End
1034      ConditionState       = REALLYDAMAGED RUBBLE SNOW
1035        Model              = UBCmdHQC_ES
1036        Animation          = UBCmdHQC_ES.UBCmdHQC_ES
1037        AnimationMode      = LOOP
1038      End
1039      ConditionState         = GARRISONED SNOW
1040        Model                = UBCmdHQEG_S
1041        ParticleSysBone      = Smoke01 SmolderingSmoke
1042        Animation            = UBCmdHQEG_S.UBCmdHQEG_S
1043        AnimationMode        = LOOP
1044      End
1045      ConditionState         = DAMAGED GARRISONED SNOW
1046        Model                = UBCmdHQEG_DS
1047        ParticleSysBone      = Smoke01 SmolderingSmoke
1048        Animation            = UBCmdHQEG_DS.UBCmdHQEG_DS
1049        AnimationMode        = LOOP
1050      End
1051      ConditionState         = REALLYDAMAGED GARRISONED SNOW
1052        Model                = UBCmdHQEG_ES
1053        ParticleSysBone      = Smoke01 SmolderingSmoke
1054        Animation            = UBCmdHQEG_ES.UBCmdHQEG_ES
1055        AnimationMode        = LOOP
1056      End
1057  
1058      ; night snow
1059      ConditionState       = NIGHT SNOW
1060        Model              = UBCmdHQC_NS
1061        ParticleSysBone    = Smoke01 SteamVent
1062        ParticleSysBone    = Fire01 SmolderingFire
1063        ParticleSysBone    = Fire01 SmolderingSmoke
1064        Animation          = UBCmdHQC_NS.UBCmdHQC_NS
1065        AnimationMode      = LOOP
1066      End
1067      ConditionState       = DAMAGED NIGHT SNOW
1068        Model              = UBCmdHQC_DNS
1069        Animation          = UBCmdHQC_DNS.UBCmdHQC_DNS
1070        AnimationMode      = LOOP
1071      End
1072      ConditionState       = REALLYDAMAGED RUBBLE NIGHT SNOW
1073        Model              = UBCmdHQC_ENS
1074        Animation          = UBCmdHQC_ENS.UBCmdHQC_ENS
1075        AnimationMode      = LOOP
1076      End
1077      ConditionState         = GARRISONED NIGHT SNOW
1078        Model                = UBCmdHQEG_NS
1079        ParticleSysBone      = Smoke01 SmolderingSmoke
1080        Animation            = UBCmdHQEG_NS.UBCmdHQEG_NS
1081        AnimationMode        = LOOP
1082      End
1083      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
1084        Model                = UBCmdHQEG_DNS
1085        ParticleSysBone      = Smoke01 SmolderingSmoke
1086        Animation            = UBCmdHQEG_DNS.UBCmdHQEG_DNS
1087        AnimationMode        = LOOP
1088      End
1089      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
1090        Model                = UBCmdHQEG_ENS
1091        ParticleSysBone      = Smoke01 SmolderingSmoke
1092        Animation            = UBCmdHQEG_ENS.UBCmdHQEG_ENS
1093        AnimationMode        = LOOP
1094      End
1095  
1096          ;**************************************************************************************************************************
1097      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
1098      ;for this draw module
1099      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1100        Model              = UBCmdHQC
1101        Animation          = UBCmdHQC.UBCmdHQC
1102        AnimationMode      = LOOP
1103        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1104      End
1105      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
1106        Model              = UBCmdHQC_D
1107        Animation          = UBCmdHQC_D.UBCmdHQC_D
1108        AnimationMode      = LOOP
1109        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1110      End
1111      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
1112        Model              = UBCmdHQC_E
1113        Animation          = UBCmdHQC_E.UBCmdHQC_E
1114        AnimationMode      = LOOP
1115        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1116      End
1117      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
1118        Model              = UBCmdHQC_N
1119        Animation          = UBCmdHQC_N.UBCmdHQC_N
1120        AnimationMode      = LOOP
1121        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1122      End
1123      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
1124        Model              = UBCmdHQC_DN
1125        Animation          = UBCmdHQC_DN.UBCmdHQC_DN
1126        AnimationMode      = LOOP
1127        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1128      End
1129      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
1130        Model              = UBCmdHQC_EN
1131        Animation          = UBCmdHQC_EN.UBCmdHQC_EN
1132        AnimationMode      = LOOP
1133        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1134      End
1135      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
1136        Model              = UBCmdHQC_S
1137        Animation          = UBCmdHQC_S.UBCmdHQC_S
1138        AnimationMode      = LOOP
1139        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1140      End
1141      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
1142        Model              = UBCmdHQC_DS
1143        Animation          = UBCmdHQC_DS.UBCmdHQC_DS
1144        AnimationMode      = LOOP
1145        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1146      End
1147      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
1148        Model              = UBCmdHQC_ES
1149        Animation          = UBCmdHQC_ES.UBCmdHQC_ES
1150        AnimationMode      = LOOP
1151        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1152      End
1153  
1154      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
1155        Model              = UBCmdHQC_NS
1156        Animation          = UBCmdHQC_NS.UBCmdHQC_NS
1157        AnimationMode      = LOOP
1158        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1159      End
1160      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
1161        Model              = UBCmdHQC_DNS
1162        Animation          = UBCmdHQC_DNS.UBCmdHQC_DNS
1163        AnimationMode      = LOOP
1164        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1165      End
1166      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
1167        Model              = UBCmdHQC_ENS
1168        Animation          = UBCmdHQC_ENS.UBCmdHQC_ENS
1169        AnimationMode      = LOOP
1170        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1171      End
1172  
1173      ConditionState       = AWAITING_CONSTRUCTION 
1174        Model              = NONE
1175      End
1176      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
1177      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
1178      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
1179      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
1180      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
1181      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
1182      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
1183      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
1184      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
1185      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
1186      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
1187      AliasConditionState  = SOLD 
1188      AliasConditionState  = SOLD DAMAGED
1189      AliasConditionState  = SOLD REALLYDAMAGED
1190      AliasConditionState  = SOLD NIGHT
1191      AliasConditionState  = SOLD NIGHT DAMAGED
1192      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
1193      AliasConditionState  = SOLD SNOW
1194      AliasConditionState  = SOLD SNOW DAMAGED
1195      AliasConditionState  = SOLD SNOW REALLYDAMAGED
1196      AliasConditionState  = SOLD NIGHT SNOW
1197      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
1198      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
1199      AliasConditionState  = GARRISONED SOLD 
1200      AliasConditionState  = GARRISONED SOLD DAMAGED
1201      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
1202      AliasConditionState  = GARRISONED SOLD NIGHT
1203      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
1204      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
1205      AliasConditionState  = GARRISONED SOLD SNOW
1206      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
1207      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
1208      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
1209      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
1210      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
1211      ;**************************************************************************************************************************
1212    End
1213  
1214    PlacementViewAngle = -135
1215  
1216    ; ------------ construction done flashing lights ----------
1217  ;  Draw = W3DModelDraw
1218  ;    DefaultConditionState
1219  ;      Model           = None
1220  ;    End
1221  ;    ConditionState    = SOLD
1222  ;      Model           = NONE
1223  ;    End    
1224  ;    ConditionState    = CONSTRUCTION_COMPLETE
1225  ;      Model           = ABWarFact_A2
1226  ;      Animation       = ABWarFact_A2.ABWarFact_A2
1227  ;      AnimationMode   = LOOP
1228  ;      Flags           = START_FRAME_FIRST
1229  ;    End  
1230  ;  End
1231      
1232    ; ------------ construction-zone fence -----------------
1233    Draw                = W3DModelDraw ModuleTag_02
1234    AnimationsRequirePower = No
1235      DefaultConditionState
1236        Model           = None
1237        TransitionKey   = DOWN_DEFAULT
1238      End
1239      ConditionState    = NIGHT
1240        Model           = None
1241        TransitionKey   = DOWN_DEFAULT
1242      End
1243      ConditionState    = SNOW
1244        Model           = None
1245        TransitionKey   = DOWN_DEFAULT
1246      End
1247      ConditionState    = SNOW NIGHT
1248        Model           = None
1249        TransitionKey   = DOWN_DEFAULT
1250      End
1251      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1252        Model           = UBCmdHQ_A4
1253        Animation       = UBCmdHQ_A4.UBCmdHQ_A4
1254        AnimationMode   = MANUAL
1255        Flags           = START_FRAME_LAST
1256        TransitionKey   = UP_DAY
1257      End
1258      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1259        Model           = UBCmdHQ_A4N
1260        Animation       = UBCmdHQ_A4N.UBCmdHQ_A4N
1261        AnimationMode   = MANUAL
1262        Flags           = START_FRAME_LAST
1263        TransitionKey   = UP_NIGHT
1264      End
1265      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1266        Model           = UBCmdHQ_A4S
1267        Animation       = UBCmdHQ_A4S.UBCmdHQ_A4S
1268        AnimationMode   = MANUAL
1269        Flags           = START_FRAME_LAST
1270        TransitionKey   = UP_SNOW
1271      End
1272      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1273        Model           = UBCmdHQ_A4SN
1274        Animation       = UBCmdHQ_A4SN.UBCmdHQ_A4SN
1275        AnimationMode   = MANUAL
1276        Flags           = START_FRAME_LAST
1277        TransitionKey   = UP_SNOWNIGHT
1278      End
1279      TransitionState   = DOWN_DEFAULT UP_DAY
1280        Model           = UBCmdHQ_A4
1281        Animation       = UBCmdHQ_A4.UBCmdHQ_A4
1282        AnimationMode   = ONCE
1283        AnimationSpeedFactorRange = 1.0 1.0
1284        Flags           = START_FRAME_FIRST
1285      End
1286      TransitionState   = DOWN_DEFAULT UP_NIGHT
1287        Model           = UBCmdHQ_A4N
1288        Animation       = UBCmdHQ_A4N.UBCmdHQ_A4N
1289        AnimationMode   = ONCE
1290        AnimationSpeedFactorRange = 1.0 1.0
1291        Flags           = START_FRAME_FIRST
1292      End
1293      TransitionState   = DOWN_DEFAULT UP_SNOW
1294        Model           = UBCmdHQ_A4S
1295        Animation       = UBCmdHQ_A4S.UBCmdHQ_A4S
1296        AnimationMode   = ONCE
1297        AnimationSpeedFactorRange = 1.0 1.0
1298        Flags           = START_FRAME_FIRST
1299      End
1300      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
1301        Model           = UBCmdHQ_A4SN
1302        Animation       = UBCmdHQ_A4SN.UBCmdHQ_A4SN
1303        AnimationMode   = ONCE
1304        AnimationSpeedFactorRange = 1.0 1.0
1305        Flags           = START_FRAME_FIRST
1306      End
1307      TransitionState   = UP_DAY DOWN_DEFAULT
1308        Model           = UBCmdHQ_A4
1309        Animation       = UBCmdHQ_A4.UBCmdHQ_A4
1310        AnimationMode   = ONCE_BACKWARDS
1311        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1312        Flags           = START_FRAME_LAST
1313      End
1314      TransitionState   = UP_NIGHT DOWN_DEFAULT
1315        Model           = UBCmdHQ_A4N
1316        Animation       = UBCmdHQ_A4N.UBCmdHQ_A4N
1317        AnimationMode   = ONCE_BACKWARDS
1318        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1319        Flags           = START_FRAME_LAST
1320      End
1321      TransitionState   = UP_SNOW DOWN_DEFAULT
1322        Model           = UBCmdHQ_A4S
1323        Animation       = UBCmdHQ_A4S.UBCmdHQ_A4S
1324        AnimationMode   = ONCE_BACKWARDS
1325        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1326        Flags           = START_FRAME_LAST
1327      End
1328      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
1329        Model           = UBCmdHQ_A4SN
1330        Animation       = UBCmdHQ_A4SN.UBCmdHQ_A4SN
1331        AnimationMode   = ONCE_BACKWARDS
1332        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1333        Flags           = START_FRAME_LAST
1334      End
1335    End
1336  
1337    ; ------------ under-construction scaffolding -----------------
1338    Draw                = W3DModelDraw ModuleTag_03
1339    AnimationsRequirePower = No
1340      MinLODRequired = MEDIUM
1341      DefaultConditionState
1342        Model           = None
1343        TransitionKey   = DOWN_DEFAULT
1344      End
1345      ConditionState    = NIGHT
1346        Model           = None
1347        TransitionKey   = DOWN_DEFAULT
1348      End
1349      ConditionState    = SNOW
1350        Model           = None
1351        TransitionKey   = DOWN_DEFAULT
1352      End
1353      ConditionState    = SNOW NIGHT
1354        Model           = None
1355        TransitionKey   = DOWN_DEFAULT
1356      End
1357      ConditionState    = PARTIALLY_CONSTRUCTED
1358        Model           = UBCmdHQ_A6
1359        Animation       = UBCmdHQ_A6.UBCmdHQ_A6
1360        AnimationMode   = MANUAL
1361        Flags           = START_FRAME_LAST
1362        TransitionKey   = UP_DAY
1363        ParticleSysBone = Dust01 BuildingDust
1364        ParticleSysBone = Smoke01 BuildUpSmoke
1365        ParticleSysBone = Smoke02 BuildUpSmoke
1366        ParticleSysBone = Smoke03 BuildUpSmoke
1367      End
1368      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
1369        Model           = UBCmdHQ_A6S
1370        Animation       = UBCmdHQ_A6S.UBCmdHQ_A6S
1371        AnimationMode   = MANUAL
1372        Flags           = START_FRAME_LAST
1373        TransitionKey   = UP_SNOW
1374        ParticleSysBone = Dust01 BuildingSnowDust
1375        ParticleSysBone = Smoke01 BuildUpSnowSmoke
1376        ParticleSysBone = Smoke02 BuildUpSnowSmoke
1377        ParticleSysBone = Smoke03 BuildUpSnowSmoke
1378      End
1379      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
1380        Model           = UBCmdHQ_A6N
1381        Animation       = UBCmdHQ_A6N.UBCmdHQ_A6N
1382        AnimationMode   = MANUAL
1383        Flags           = START_FRAME_LAST
1384        TransitionKey   = UP_NIGHT
1385        ParticleSysBone = Dust01 BuildingDust
1386        ParticleSysBone = Smoke01 BuildUpSmoke
1387        ParticleSysBone = Smoke02 BuildUpSmoke
1388        ParticleSysBone = Smoke03 BuildUpSmoke
1389      End
1390      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
1391        Model           = UBCmdHQ_A6SN
1392        Animation       = UBCmdHQ_A6SN.UBCmdHQ_A6SN
1393        AnimationMode   = MANUAL
1394        Flags           = START_FRAME_LAST
1395        TransitionKey   = UP_SNOWNIGHT
1396        ParticleSysBone = Dust01 BuildingNightSnowDust
1397        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
1398        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
1399        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
1400      End
1401      TransitionState   = DOWN_DEFAULT UP_DAY
1402       Model            = UBCmdHQ_A6
1403        Animation       = UBCmdHQ_A6.UBCmdHQ_A6
1404        AnimationMode   = ONCE
1405        AnimationSpeedFactorRange = 1.0 1.0
1406        Flags           = START_FRAME_FIRST
1407      End
1408      TransitionState   = DOWN_DEFAULT UP_NIGHT
1409       Model            = UBCmdHQ_A6N
1410        Animation       = UBCmdHQ_A6N.UBCmdHQ_A6N
1411        AnimationMode   = ONCE
1412        AnimationSpeedFactorRange = 1.0 1.0
1413        Flags           = START_FRAME_FIRST
1414      End
1415      TransitionState   = DOWN_DEFAULT UP_SNOW
1416       Model            = UBCmdHQ_A6S
1417        Animation       = UBCmdHQ_A6S.UBCmdHQ_A6S
1418        AnimationMode   = ONCE
1419        AnimationSpeedFactorRange = 1.0 1.0
1420        Flags           = START_FRAME_FIRST
1421      End
1422      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
1423       Model            = UBCmdHQ_A6SN
1424        Animation       = UBCmdHQ_A6SN.UBCmdHQ_A6SN
1425        AnimationMode   = ONCE
1426        AnimationSpeedFactorRange = 1.0 1.0
1427        Flags           = START_FRAME_FIRST
1428      End
1429      TransitionState   = UP_DAY DOWN_DEFAULT
1430        Model           = UBCmdHQ_A6
1431        Animation       = UBCmdHQ_A6.UBCmdHQ_A6
1432        AnimationMode   = ONCE_BACKWARDS
1433        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1434        Flags           = START_FRAME_LAST
1435      End
1436      TransitionState   = UP_NIGHT DOWN_DEFAULT
1437        Model           = UBCmdHQ_A6N
1438        Animation       = UBCmdHQ_A6N.UBCmdHQ_A6N
1439        AnimationMode   = ONCE_BACKWARDS
1440        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1441        Flags           = START_FRAME_LAST
1442      End
1443      TransitionState   = UP_SNOW DOWN_DEFAULT
1444        Model           = UBCmdHQ_A6S
1445        Animation       = UBCmdHQ_A6S.UBCmdHQ_A6S
1446        AnimationMode   = ONCE_BACKWARDS
1447        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1448        Flags           = START_FRAME_LAST
1449      End
1450      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
1451        Model           = UBCmdHQ_A6SN
1452        Animation       = UBCmdHQ_A6SN.UBCmdHQ_A6SN
1453        AnimationMode   = ONCE_BACKWARDS
1454        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
1455        Flags           = START_FRAME_LAST
1456      End
1457    End
1458  
1459    ; Officers club flag
1460    Draw = W3DModelDraw ModuleTag_OfficersClub
1461      OkToChangeModelColor = No
1462  
1463      ConditionState       = NONE
1464        Model              = None
1465      End
1466      AliasConditionState  = DAMAGED
1467      AliasConditionState  = REALLYDAMAGED
1468      AliasConditionState  = RUBBLE
1469      AliasConditionState  = REALLYDAMAGED RUBBLE
1470      ConditionState       = PREORDER
1471        Model              = OCFlagGLA
1472        Animation          = OCFlagGLA.OCFlagGLA
1473        AnimationMode      = LOOP
1474        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1475      End
1476  ;    ConditionState       = PREORDER DAMAGED
1477  ;      Model              = OCFlagGLA_D
1478  ;      Animation          = OCFlagGLA_D.OCFlagGLA_D
1479  ;      AnimationMode      = LOOP
1480  ;      Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1481  ;    End
1482  ;    ConditionState       = PREORDER REALLYDAMAGED RUBBLE
1483  ;      Model              = OCFlagGLA_E
1484  ;      Animation          = OCFlagGLA_E.OCFlagGLA_E
1485  ;      AnimationMode      = LOOP
1486  ;      Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1487  ;    End
1488    End
1489  
1490    ; ***DESIGN parameters ***
1491    DisplayName         = OBJECT:CommandCenter
1492    Side                = GLAToxinGeneral
1493    EditorSorting       = STRUCTURE
1494    Prerequisites
1495      Object = Chem_GLACommandCenter
1496    End
1497    BuildCost           = 500
1498    BuildTime           = 30.0           ; in seconds
1499    EnergyProduction    = 0  ;Command center should be free
1500    CommandSet          = FakeGLACommandCenterCommandSet
1501    VisionRange         = 300.0           ; Shroud clearing distance
1502    ShroudClearingRange = 300
1503    WeaponSet
1504      Conditions          = None 
1505      Weapon = PRIMARY SuicideWeapon
1506      AutoChooseSources = PRIMARY None
1507    End
1508  
1509    ArmorSet
1510      Conditions        = None
1511      Armor             = StructureArmorTough
1512      DamageFX          = StructureDamageFXNoShake
1513    End
1514    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
1515  
1516    ; *** AUDIO Parameters ***
1517    VoiceSelect         = CommandCenterGLASelect
1518    SoundOnDamaged        = BuildingDamagedStateLight
1519    SoundOnReallyDamaged  = BuildingDestroy
1520  
1521    UnitSpecificSounds
1522      UnderConstruction     = UnderConstructionLoop
1523    End
1524  
1525  
1526    ; *** ENGINEERING Parameters ***
1527    RadarPriority       = STRUCTURE
1528    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE
1529    Body                = StructureBody ModuleTag_04
1530      MaxHealth         = 1250.0
1531      InitialHealth     = 1250.0
1532  
1533      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
1534      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
1535      SubdualDamageCap = 1450
1536      SubdualDamageHealRate = 500
1537      SubdualDamageHealAmount = 100
1538    End
1539  
1540    Behavior = PreorderCreate ModuleTag_PreorderCreate
1541    End
1542  
1543    Behavior = ProductionUpdate ModuleTag_05
1544      ; nothing
1545    End
1546    Behavior = AIUpdateInterface ModuleTag_06
1547      AutoAcquireEnemiesWhenIdle = No
1548    End
1549  
1550    Behavior             = CreateObjectDie ModuleTag_09
1551      CreationList  = OCL_LargeStructureDebris
1552    End
1553    Behavior             = FXListDie ModuleTag_10
1554      DeathFX       = FX_StructureMediumDeath
1555    End
1556  
1557    Behavior = SlowDeathBehavior ModuleTag_11
1558      ExemptStatus = UNDER_CONSTRUCTION
1559      DestructionDelay = 0
1560      Weapon = FINAL FakeStructureDetonationWeapon
1561    End
1562    Behavior = DestroyDie ModuleTag_SlowDeathException
1563      RequiredStatus = UNDER_CONSTRUCTION
1564    End
1565  
1566    Behavior = ReplaceObjectUpgrade ModuleTag_12
1567      ReplaceObject = Chem_GLACommandCenter
1568      TriggeredBy = Upgrade_BecomeRealGLACommandCenter
1569    End
1570  
1571    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
1572      ConditionFlag = GARRISONED
1573      TriggeredBy   = Upgrade_GLAFortifiedStructure
1574    End
1575  
1576    Behavior = FlammableUpdate ModuleTag_13
1577      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
1578      AflameDamageAmount = 5       ; taking this much damage...
1579      AflameDamageDelay = 500       ; this often.
1580    End
1581  
1582    Behavior = TransitionDamageFX ModuleTag_14
1583      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
1584      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
1585      ;---------------------------------------------------------------------------------------
1586      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
1587      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
1588      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
1589    End
1590  
1591    Geometry            = BOX
1592    GeometryMajorRadius = 65.0
1593    GeometryMinorRadius = 65.0
1594    GeometryHeight      = 54.0
1595    FactoryExitWidth    = 25 
1596    GeometryIsSmall     = No
1597    Shadow              = SHADOW_VOLUME
1598    ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure.
1599    ShadowSizeX = 165
1600    ShadowSizeY = 145
1601    BuildCompletion     = PLACED_BY_PLAYER
1602  
1603  End
1604  
1605  
1606  
1607  
1608  
1609  ;------------------------------------------------------------------------------
1610  Object Chem_GLABlackMarket
1611  
1612    ; *** ART Parameters ***
1613    SelectPortrait         = SUBlackMarket_L
1614    ButtonImage            = SUBlackMarket
1615  
1616  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
1617  
1618    Draw                = W3DModelDraw ModuleTag_01
1619      OkToChangeModelColor = Yes
1620  
1621      ; day
1622      ConditionState    = NONE
1623        Model           = UBBlackMkt
1624        Animation       = UBBlackMkt.UBBlackMkt
1625        AnimationMode   = LOOP
1626        ParticleSysBone = Smoke01 SmolderingSmoke      
1627      End
1628      ConditionState    = DAMAGED
1629        Model           = UBBlackMkt_D
1630        Animation       = UBBlackMkt_D.UBBlackMkt_D
1631        AnimationMode   = LOOP
1632        ParticleSysBone = Smoke01 SmolderingSmoke
1633        ParticleSysBone = Smoke02 SmolderingSmoke
1634        ParticleSysBone = Smoke03 SmolderingSmoke
1635        ParticleSysBone = Smoke04 SmolderingSmoke
1636        ParticleSysBone = Smoke05 SmolderingSmoke
1637        ParticleSysBone = Smoke06 SmolderingSmoke
1638        ParticleSysBone = Fire02 SmolderingFire
1639        ParticleSysBone = Fire03 SmolderingFire
1640        ParticleSysBone = Fire04 SmolderingFire
1641        ParticleSysBone = Fire05 SmolderingFire
1642        ParticleSysBone = Fire06 SmolderingFire
1643      End
1644      ConditionState    = REALLYDAMAGED RUBBLE
1645        Model           = UBBlackMkt_E
1646        Animation       = UBBlackMkt_E.UBBlackMkt_E
1647        AnimationMode   = LOOP
1648        ParticleSysBone = Smoke01 SmolderingSmoke
1649        ParticleSysBone = Smoke02 SmolderingSmoke
1650        ParticleSysBone = Smoke03 SmolderingSmoke
1651        ParticleSysBone = Smoke04 SmolderingSmoke
1652        ParticleSysBone = Smoke05 SmolderingSmoke
1653        ParticleSysBone = Smoke06 SmolderingSmoke
1654        ParticleSysBone = Smoke07 SmolderingSmoke
1655        ParticleSysBone = Fire02 SmolderingFire
1656        ParticleSysBone = Fire03 SmolderingFire
1657        ParticleSysBone = Fire04 SmolderingFire
1658        ParticleSysBone = Fire05 SmolderingFire
1659        ParticleSysBone = Fire06 SmolderingFire
1660        ParticleSysBone = Fire07 SmolderingFire
1661      End
1662      ConditionState         = GARRISONED
1663        Model                = UBBlkMktEG
1664        ParticleSysBone      = Smoke01 SmolderingSmoke
1665        Animation            = UBBlkMktEG.UBBlkMktEG
1666        AnimationMode        = LOOP
1667      End
1668      ConditionState         = DAMAGED GARRISONED
1669        Model                = UBBlkMktEG_D
1670        ParticleSysBone      = Smoke01 SmolderingSmoke
1671        Animation            = UBBlkMktEG_D.UBBlkMktEG_D
1672        AnimationMode        = LOOP
1673      End
1674      ConditionState         = REALLYDAMAGED GARRISONED
1675        Model                = UBBlkMktEG_E
1676        ParticleSysBone      = Smoke01 SmolderingSmoke
1677        Animation            = UBBlkMktEG_E.UBBlkMktEG_E
1678        AnimationMode        = LOOP
1679      End
1680  
1681      ; day snow
1682      ConditionState    = SNOW
1683        Model           = UBBlackMkt_S
1684        Animation       = UBBlackMkt_S.UBBlackMkt_S
1685        AnimationMode   = LOOP
1686        ParticleSysBone = Smoke01 SmolderingSmoke      
1687      End
1688      ConditionState    = DAMAGED SNOW
1689        Model           = UBBlackMkt_DS
1690        Animation       = UBBlackMkt_DS.UBBlackMkt_DS
1691        AnimationMode   = LOOP
1692        ParticleSysBone = Smoke01 SmolderingSmoke
1693        ParticleSysBone = Smoke02 SmolderingSmoke
1694        ParticleSysBone = Smoke03 SmolderingSmoke
1695        ParticleSysBone = Smoke04 SmolderingSmoke
1696        ParticleSysBone = Smoke05 SmolderingSmoke
1697        ParticleSysBone = Smoke06 SmolderingSmoke
1698        ParticleSysBone = Fire02 SmolderingFire
1699        ParticleSysBone = Fire03 SmolderingFire
1700        ParticleSysBone = Fire04 SmolderingFire
1701        ParticleSysBone = Fire05 SmolderingFire
1702        ParticleSysBone = Fire06 SmolderingFire
1703      End
1704      ConditionState    = REALLYDAMAGED RUBBLE SNOW
1705        Model           = UBBlackMkt_ES
1706        Animation       = UBBlackMkt_ES.UBBlackMkt_ES
1707        AnimationMode   = LOOP
1708        ParticleSysBone = Smoke01 SmolderingSmoke
1709        ParticleSysBone = Smoke02 SmolderingSmoke
1710        ParticleSysBone = Smoke03 SmolderingSmoke
1711        ParticleSysBone = Smoke04 SmolderingSmoke
1712        ParticleSysBone = Smoke05 SmolderingSmoke
1713        ParticleSysBone = Smoke06 SmolderingSmoke
1714        ParticleSysBone = Smoke07 SmolderingSmoke
1715        ParticleSysBone = Fire02 SmolderingFire
1716        ParticleSysBone = Fire03 SmolderingFire
1717        ParticleSysBone = Fire04 SmolderingFire
1718        ParticleSysBone = Fire05 SmolderingFire
1719        ParticleSysBone = Fire06 SmolderingFire
1720        ParticleSysBone = Fire07 SmolderingFire
1721      End
1722      ConditionState         = GARRISONED SNOW
1723        Model                = UBBlkMktEG_S
1724        ParticleSysBone      = Smoke01 SmolderingSmoke
1725        Animation            = UBBlkMktEG_S.UBBlkMktEG_S
1726        AnimationMode        = LOOP
1727      End
1728      ConditionState         = DAMAGED GARRISONED SNOW
1729        Model                = UBBlkMktEG_DS
1730        ParticleSysBone      = Smoke01 SmolderingSmoke
1731        Animation            = UBBlkMktEG_DS.UBBlkMktEG_DS
1732        AnimationMode        = LOOP
1733      End
1734      ConditionState         = REALLYDAMAGED GARRISONED SNOW
1735        Model                = UBBlkMktEG_ES
1736        ParticleSysBone      = Smoke01 SmolderingSmoke
1737        Animation            = UBBlkMktEG_ES.UBBlkMktEG_ES
1738        AnimationMode        = LOOP
1739      End
1740  
1741      ; night
1742      ConditionState    = NIGHT 
1743        Model           = UBBlackMkt_N
1744        Animation       = UBBlackMkt_N.UBBlackMkt_N
1745        AnimationMode   = LOOP
1746        ParticleSysBone = Smoke01 SmolderingSmoke      
1747      End
1748      ConditionState    = DAMAGED NIGHT
1749        Model           = UBBlackMkt_DN
1750        Animation       = UBBlackMkt_DN.UBBlackMkt_DN
1751        AnimationMode   = LOOP
1752        ParticleSysBone = Smoke01 SmolderingSmoke
1753        ParticleSysBone = Smoke02 SmolderingSmoke
1754        ParticleSysBone = Smoke03 SmolderingSmoke
1755        ParticleSysBone = Smoke04 SmolderingSmoke
1756        ParticleSysBone = Smoke05 SmolderingSmoke
1757        ParticleSysBone = Smoke06 SmolderingSmoke
1758        ParticleSysBone = Fire02 SmolderingFire
1759        ParticleSysBone = Fire03 SmolderingFire
1760        ParticleSysBone = Fire04 SmolderingFire
1761        ParticleSysBone = Fire05 SmolderingFire
1762        ParticleSysBone = Fire06 SmolderingFire
1763      End
1764      ConditionState    = REALLYDAMAGED RUBBLE NIGHT
1765        Model           = UBBlackMkt_EN
1766        Animation       = UBBlackMkt_EN.UBBlackMkt_EN
1767        AnimationMode   = LOOP
1768        ParticleSysBone = Smoke01 SmolderingSmoke
1769        ParticleSysBone = Smoke02 SmolderingSmoke
1770        ParticleSysBone = Smoke03 SmolderingSmoke
1771        ParticleSysBone = Smoke04 SmolderingSmoke
1772        ParticleSysBone = Smoke05 SmolderingSmoke
1773        ParticleSysBone = Smoke06 SmolderingSmoke
1774        ParticleSysBone = Smoke07 SmolderingSmoke
1775        ParticleSysBone = Fire02 SmolderingFire
1776        ParticleSysBone = Fire03 SmolderingFire
1777        ParticleSysBone = Fire04 SmolderingFire
1778        ParticleSysBone = Fire05 SmolderingFire
1779        ParticleSysBone = Fire06 SmolderingFire
1780        ParticleSysBone = Fire07 SmolderingFire
1781      End
1782      ConditionState         = GARRISONED NIGHT
1783        Model                = UBBlkMktEG_N
1784        ParticleSysBone      = Smoke01 SmolderingSmoke
1785        Animation            = UBBlkMktEG_N.UBBlkMktEG_N
1786        AnimationMode        = LOOP
1787      End
1788      ConditionState         = DAMAGED GARRISONED NIGHT
1789        Model                = UBBlkMktEG_DN
1790        ParticleSysBone      = Smoke01 SmolderingSmoke
1791        Animation            = UBBlkMktEG_DN.UBBlkMktEG_DN
1792        AnimationMode        = LOOP
1793      End
1794      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
1795        Model                = UBBlkMktEG_EN
1796        ParticleSysBone      = Smoke01 SmolderingSmoke
1797        Animation            = UBBlkMktEG_EN.UBBlkMktEG_EN
1798        AnimationMode        = LOOP
1799      End
1800  
1801      ; night snow
1802      ConditionState    = NIGHT SNOW
1803        Model           = UBBlackMkt_NS
1804        Animation       = UBBlackMkt_NS.UBBlackMkt_NS
1805        AnimationMode   = LOOP
1806        ParticleSysBone = Smoke01 SmolderingSmoke      
1807      End
1808      ConditionState    = DAMAGED NIGHT SNOW
1809        Model           = UBBlackMkt_DNS
1810        Animation       = UBBlackMkt_DNS.UBBlackMkt_DNS
1811        AnimationMode   = LOOP
1812        ParticleSysBone = Smoke01 SmolderingSmoke
1813        ParticleSysBone = Smoke02 SmolderingSmoke
1814        ParticleSysBone = Smoke03 SmolderingSmoke
1815        ParticleSysBone = Smoke04 SmolderingSmoke
1816        ParticleSysBone = Smoke05 SmolderingSmoke
1817        ParticleSysBone = Smoke06 SmolderingSmoke
1818        ParticleSysBone = Fire02 SmolderingFire
1819        ParticleSysBone = Fire03 SmolderingFire
1820        ParticleSysBone = Fire04 SmolderingFire
1821        ParticleSysBone = Fire05 SmolderingFire
1822        ParticleSysBone = Fire06 SmolderingFire
1823      End
1824      ConditionState    = REALLYDAMAGED RUBBLE NIGHT SNOW
1825        Model           = UBBlackMkt_ENS
1826        Animation       = UBBlackMkt_ENS.UBBlackMkt_ENS
1827        AnimationMode   = LOOP
1828        ParticleSysBone = Smoke01 SmolderingSmoke
1829        ParticleSysBone = Smoke02 SmolderingSmoke
1830        ParticleSysBone = Smoke03 SmolderingSmoke
1831        ParticleSysBone = Smoke04 SmolderingSmoke
1832        ParticleSysBone = Smoke05 SmolderingSmoke
1833        ParticleSysBone = Smoke06 SmolderingSmoke
1834        ParticleSysBone = Smoke07 SmolderingSmoke
1835        ParticleSysBone = Fire02 SmolderingFire
1836        ParticleSysBone = Fire03 SmolderingFire
1837        ParticleSysBone = Fire04 SmolderingFire
1838        ParticleSysBone = Fire05 SmolderingFire
1839        ParticleSysBone = Fire06 SmolderingFire
1840        ParticleSysBone = Fire07 SmolderingFire
1841      End
1842      ConditionState         = GARRISONED NIGHT SNOW
1843        Model                = UBBlkMktEG_NS
1844        ParticleSysBone      = Smoke01 SmolderingSmoke
1845        Animation            = UBBlkMktEG_NS.UBBlkMktEG_NS
1846        AnimationMode        = LOOP
1847      End
1848      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
1849        Model                = UBBlkMktEG_DNS
1850        ParticleSysBone      = Smoke01 SmolderingSmoke
1851        Animation            = UBBlkMktEG_DNS.UBBlkMktEG_DNS
1852        AnimationMode        = LOOP
1853      End
1854      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
1855        Model                = UBBlkMktEG_ENS
1856        ParticleSysBone      = Smoke01 SmolderingSmoke
1857        Animation            = UBBlkMktEG_ENS.UBBlkMktEG_ENS
1858        AnimationMode        = LOOP
1859      End
1860  
1861      ;**************************************************************************************************************************
1862      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
1863      ;for this draw module
1864      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
1865        Model              = UBBlackMkt
1866        Animation          = UBBlackMkt.UBBlackMkt
1867        AnimationMode      = LOOP
1868        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1869      End
1870      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
1871        Model              = UBBlackMkt_D
1872        Animation          = UBBlackMkt_D.UBBlackMkt_D
1873        AnimationMode      = LOOP
1874        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1875      End
1876      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
1877        Model              = UBBlackMkt_E
1878        Animation          = UBBlackMkt_E.UBBlackMkt_E
1879        AnimationMode      = LOOP
1880        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1881      End
1882      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
1883        Model              = UBBlackMkt_N
1884        Animation          = UBBlackMkt_N.UBBlackMkt_N
1885        AnimationMode      = LOOP
1886        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1887      End
1888      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
1889        Model              = UBBlackMkt_DN
1890        Animation          = UBBlackMkt_DN.UBBlackMkt_DN
1891        AnimationMode      = LOOP
1892        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1893      End
1894      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
1895        Model              = UBBlackMkt_EN
1896        Animation          = UBBlackMkt_EN.UBBlackMkt_EN
1897        AnimationMode      = LOOP
1898        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1899      End
1900      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
1901        Model              = UBBlackMkt_S
1902        Animation          = UBBlackMkt_S.UBBlackMkt_S
1903        AnimationMode      = LOOP
1904        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1905      End
1906      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
1907        Model              = UBBlackMkt_DS
1908        Animation          = UBBlackMkt_DS.UBBlackMkt_DS
1909        AnimationMode      = LOOP
1910        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1911      End
1912      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
1913        Model              = UBBlackMkt_ES
1914        Animation          = UBBlackMkt_ES.UBBlackMkt_ES
1915        AnimationMode      = LOOP
1916        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1917      End
1918      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
1919        Model              = UBBlackMkt_NS
1920        Animation          = UBBlackMkt_NS.UBBlackMkt_NS
1921        AnimationMode      = LOOP
1922        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1923      End
1924      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
1925        Model              = UBBlackMkt_DNS
1926        Animation          = UBBlackMkt_DNS.UBBlackMkt_DNS
1927        AnimationMode      = LOOP
1928        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1929      End
1930      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
1931        Model              = UBBlackMkt_ENS
1932        Animation          = UBBlackMkt_ENS.UBBlackMkt_ENS
1933        AnimationMode      = LOOP
1934        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
1935      End
1936  
1937      ConditionState       = AWAITING_CONSTRUCTION 
1938        Model              = NONE
1939      End
1940      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
1941      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
1942      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
1943      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
1944      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
1945      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
1946      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
1947      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
1948      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
1949      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
1950      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
1951      AliasConditionState  = SOLD 
1952      AliasConditionState  = SOLD DAMAGED
1953      AliasConditionState  = SOLD REALLYDAMAGED
1954      AliasConditionState  = SOLD NIGHT
1955      AliasConditionState  = SOLD NIGHT DAMAGED
1956      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
1957      AliasConditionState  = SOLD SNOW
1958      AliasConditionState  = SOLD SNOW DAMAGED
1959      AliasConditionState  = SOLD SNOW REALLYDAMAGED
1960      AliasConditionState  = SOLD NIGHT SNOW
1961      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
1962      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
1963      AliasConditionState  = GARRISONED SOLD 
1964      AliasConditionState  = GARRISONED SOLD DAMAGED
1965      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
1966      AliasConditionState  = GARRISONED SOLD NIGHT
1967      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
1968      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
1969      AliasConditionState  = GARRISONED SOLD SNOW
1970      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
1971      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
1972      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
1973      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
1974      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
1975      ;**************************************************************************************************************************
1976      
1977    End  
1978  
1979    ; ------------ construction-zone fence -----------------
1980    Draw = W3DModelDraw ModuleTag_02
1981    AnimationsRequirePower = No
1982      DefaultConditionState
1983        Model           = None
1984        TransitionKey   = DOWN_DEFAULT
1985  
1986      End
1987      ConditionState    = NIGHT
1988        Model           = None
1989        TransitionKey   = DOWN_DEFAULT
1990      End
1991      ConditionState    = SNOW
1992        Model           = None
1993        TransitionKey   = DOWN_DEFAULT
1994      End   
1995      ConditionState    = SNOW NIGHT
1996        Model           = None
1997        TransitionKey   = DOWN_DEFAULT
1998      End
1999      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2000        Model           = UBBlackMkt_A4
2001        Animation       = UBBlackMkt_A4.UBBlackMkt_A4
2002        AnimationMode   = MANUAL
2003        Flags           = START_FRAME_LAST
2004        TransitionKey   = UP_DAY
2005      End
2006      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2007        Model           = UBBlackMkt_A4N
2008        Animation       = UBBlackMkt_A4N.UBBlackMkt_A4N
2009        AnimationMode   = MANUAL
2010        Flags           = START_FRAME_LAST
2011        TransitionKey   = UP_NIGHT
2012      End
2013      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2014        Model           = UBBlackMkt_A4S
2015        Animation       = UBBlackMkt_A4S.UBBlackMkt_A4S
2016        AnimationMode   = MANUAL
2017        Flags           = START_FRAME_LAST
2018        TransitionKey   = UP_SNOW
2019      End   
2020      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2021        Model           = UBBlackMkt_A4SN
2022        Animation       = UBBlackMkt_A4SN.UBBlackMkt_A4SN
2023        AnimationMode   = MANUAL
2024        Flags           = START_FRAME_LAST
2025        TransitionKey   = UP_SNOWNIGHT
2026      End 
2027      TransitionState   = DOWN_DEFAULT UP_DAY
2028        Model           = UBBlackMkt_A4
2029        Animation       = UBBlackMkt_A4.UBBlackMkt_A4
2030        AnimationMode   = ONCE
2031        AnimationSpeedFactorRange = 1.0 1.0
2032        Flags           = START_FRAME_FIRST
2033      End
2034      TransitionState   = DOWN_DEFAULT UP_NIGHT
2035        Model           = UBBlackMkt_A4N
2036        Animation       = UBBlackMkt_A4N.UBBlackMkt_A4N
2037        AnimationMode   = ONCE
2038        AnimationSpeedFactorRange = 1.0 1.0
2039        Flags           = START_FRAME_FIRST
2040      End
2041      TransitionState   = DOWN_DEFAULT UP_SNOW
2042        Model           = UBBlackMkt_A4S
2043        Animation       = UBBlackMkt_A4S.UBBlackMkt_A4S
2044        AnimationMode   = ONCE
2045        AnimationSpeedFactorRange = 1.0 1.0
2046        Flags           = START_FRAME_FIRST
2047      End
2048      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
2049        Model           = UBBlackMkt_A4SN
2050        Animation       = UBBlackMkt_A4SN.UBBlackMkt_A4SN
2051        AnimationMode   = ONCE
2052        AnimationSpeedFactorRange = 1.0 1.0
2053        Flags           = START_FRAME_FIRST
2054      End
2055      TransitionState   = UP_DAY DOWN_DEFAULT
2056        Model           = UBBlackMkt_A4
2057        Animation       = UBBlackMkt_A4.UBBlackMkt_A4
2058        AnimationMode   = ONCE_BACKWARDS
2059        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2060        Flags           = START_FRAME_LAST
2061      End
2062      TransitionState   = UP_NIGHT DOWN_DEFAULT
2063        Model           = UBBlackMkt_A4N
2064        Animation       = UBBlackMkt_A4N.UBBlackMkt_A4N
2065        AnimationMode   = ONCE_BACKWARDS
2066        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2067        Flags           = START_FRAME_LAST
2068      End
2069      TransitionState   = UP_SNOW DOWN_DEFAULT
2070        Model           = UBBlackMkt_A4S
2071        Animation       = UBBlackMkt_A4S.UBBlackMkt_A4S
2072        AnimationMode   = ONCE_BACKWARDS
2073        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2074        Flags           = START_FRAME_LAST
2075      End
2076      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
2077        Model           = UBBlackMkt_A4SN
2078        Animation       = UBBlackMkt_A4SN.UBBlackMkt_A4SN
2079        AnimationMode   = ONCE_BACKWARDS
2080        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2081        Flags           = START_FRAME_LAST
2082      End
2083    End
2084  
2085    ; ------------ under-construction scaffolding -----------------
2086    Draw = W3DModelDraw ModuleTag_03
2087    AnimationsRequirePower = No
2088      MinLODRequired = MEDIUM
2089      DefaultConditionState
2090        Model           = None
2091        TransitionKey   = DOWN_DEFAULT
2092      End
2093      ConditionState    = NIGHT
2094        Model           = None
2095        TransitionKey   = DOWN_DEFAULT
2096      End
2097      ConditionState    = SNOW
2098        Model           = None
2099        TransitionKey   = DOWN_DEFAULT
2100      End 
2101      ConditionState    = SNOW NIGHT
2102        Model           = None
2103        TransitionKey   = DOWN_DEFAULT
2104      End 
2105      ConditionState    = PARTIALLY_CONSTRUCTED
2106        Model           = UBBlackMkt_A6
2107        Animation       = UBBlackMkt_A6.UBBlackMkt_A6
2108        AnimationMode   = MANUAL
2109        Flags           = START_FRAME_LAST
2110        TransitionKey   = UP_DAY
2111        ParticleSysBone = Dust01 BuildingDust
2112        ParticleSysBone = Smoke01 BuildUpSmoke
2113        ParticleSysBone = Smoke02 BuildUpSmoke
2114        ParticleSysBone = Smoke03 BuildUpSmoke
2115        ParticleSysBone = Smoke04 BuildUpSmoke
2116      End
2117      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
2118        Model           = UBBlackMkt_A6N
2119        Animation       = UBBlackMkt_A6N.UBBlackMkt_A6N
2120        AnimationMode   = MANUAL
2121        Flags           = START_FRAME_LAST
2122        TransitionKey   = UP_NIGHT
2123        ParticleSysBone = Dust01 BuildingDust
2124        ParticleSysBone = Smoke01 BuildUpSmoke
2125        ParticleSysBone = Smoke02 BuildUpSmoke
2126        ParticleSysBone = Smoke03 BuildUpSmoke
2127        ParticleSysBone = Smoke04 BuildUpSmoke
2128      End
2129      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
2130        Model           = UBBlackMkt_A6S
2131        Animation       = UBBlackMkt_A6S.UBBlackMkt_A6S
2132        AnimationMode   = MANUAL
2133        Flags           = START_FRAME_LAST
2134        TransitionKey   = UP_SNOW
2135        ParticleSysBone = Dust01 BuildingSnowDust
2136        ParticleSysBone = Smoke01 BuildUpSnowSmoke
2137        ParticleSysBone = Smoke02 BuildUpSnowSmoke
2138        ParticleSysBone = Smoke03 BuildUpSnowSmoke
2139        ParticleSysBone = Smoke04 BuildUpSnowSmoke
2140      End
2141      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
2142        Model           = UBBlackMkt_A6SN
2143        Animation       = UBBlackMkt_A6SN.UBBlackMkt_A6SN
2144        AnimationMode   = MANUAL
2145        Flags           = START_FRAME_LAST
2146        TransitionKey   = UP_SNOWNIGHT
2147        ParticleSysBone = Dust01 BuildingNightSnowDust
2148        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
2149        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
2150        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
2151        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
2152      End
2153      TransitionState   = DOWN_DEFAULT UP_DAY
2154       Model            = UBBlackMkt_A6
2155        Animation       = UBBlackMkt_A6.UBBlackMkt_A6
2156        AnimationMode   = ONCE
2157        AnimationSpeedFactorRange = 1.0 1.0
2158        Flags           = START_FRAME_FIRST
2159      End
2160      TransitionState   = DOWN_DEFAULT UP_NIGHT
2161       Model            = UBBlackMkt_A6N
2162        Animation       = UBBlackMkt_A6N.UBBlackMkt_A6N
2163        AnimationMode   = ONCE
2164        AnimationSpeedFactorRange = 1.0 1.0
2165        Flags           = START_FRAME_FIRST
2166      End
2167      TransitionState   = DOWN_DEFAULT UP_SNOW
2168       Model            = UBBlackMkt_A6S
2169        Animation       = UBBlackMkt_A6S.UBBlackMkt_A6S
2170        AnimationMode   = ONCE
2171        AnimationSpeedFactorRange = 1.0 1.0
2172        Flags           = START_FRAME_FIRST
2173      End
2174      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
2175       Model            = UBBlackMkt_A6SN
2176        Animation       = UBBlackMkt_A6SN.UBBlackMkt_A6SN
2177        AnimationMode   = ONCE
2178        AnimationSpeedFactorRange = 1.0 1.0
2179        Flags           = START_FRAME_FIRST
2180      End
2181      TransitionState   = UP_DAY DOWN_DEFAULT
2182        Model           = UBBlackMkt_A6
2183        Animation       = UBBlackMkt_A6.UBBlackMkt_A6
2184        AnimationMode   = ONCE_BACKWARDS
2185        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2186        Flags           = START_FRAME_LAST
2187      End
2188      TransitionState   = UP_NIGHT DOWN_DEFAULT
2189        Model           = UBBlackMkt_A6N
2190        Animation       = UBBlackMkt_A6N.UBBlackMkt_A6N
2191        AnimationMode   = ONCE_BACKWARDS
2192        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2193        Flags           = START_FRAME_LAST
2194      End
2195      TransitionState   = UP_SNOW DOWN_DEFAULT
2196        Model           = UBBlackMkt_A6S
2197        Animation       = UBBlackMkt_A6S.UBBlackMkt_A6S
2198        AnimationMode   = ONCE_BACKWARDS
2199        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2200        Flags           = START_FRAME_LAST
2201      End
2202      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
2203        Model           = UBBlackMkt_A6SN
2204        Animation       = UBBlackMkt_A6SN.UBBlackMkt_A6SN
2205        AnimationMode   = ONCE_BACKWARDS
2206        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2207        Flags           = START_FRAME_LAST
2208      End
2209    End
2210    PlacementViewAngle  = -45
2211  
2212    ; ***DESIGN parameters ***
2213    DisplayName         = OBJECT:BlackMarket
2214    Side                = GLAToxinGeneral
2215    EditorSorting       = STRUCTURE
2216    Prerequisites
2217      Object = Chem_GLAPalace
2218    End
2219    BuildCost           = 2500
2220    BuildTime           = 30.0           ; in seconds
2221    EnergyProduction    = 0
2222    CommandSet          = Chem_GLABlackMarketCommandSet
2223    VisionRange         = 200.0           ; Shroud clearing distance
2224    ShroudClearingRange = 200
2225    ArmorSet
2226      Conditions        = None
2227      Armor             = StructureArmor
2228      DamageFX          = StructureDamageFXNoShake
2229    End
2230    ArmorSet
2231      Conditions        = PLAYER_UPGRADE
2232      Armor             = GLAUpgradedStructureArmor
2233      DamageFX          = StructureDamageFXNoShake
2234    End
2235    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
2236  
2237    ; *** AUDIO Parameters ***
2238    VoiceSelect         = BlackMarketSelect
2239    SoundOnDamaged        = BuildingDamagedStateLight
2240    SoundOnReallyDamaged  = BuildingDestroy
2241  
2242    UnitSpecificSounds
2243      UnderConstruction     = UnderConstructionLoop
2244    End
2245  
2246    ; *** ENGINEERING Parameters ***
2247    RadarPriority       = STRUCTURE
2248    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_BLACK_MARKET
2249    Body                = StructureBody ModuleTag_04
2250      MaxHealth         = 1000.0
2251      InitialHealth     = 1000.0
2252  
2253      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
2254      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
2255      SubdualDamageCap = 1200
2256      SubdualDamageHealRate = 500
2257      SubdualDamageHealAmount = 100
2258    End
2259  
2260    Behavior        = ArmorUpgrade ModuleTag_Armor01
2261      TriggeredBy   = Upgrade_GLAFortifiedStructure
2262    End
2263  
2264    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
2265      ConditionFlag = GARRISONED
2266      TriggeredBy   = Upgrade_GLAFortifiedStructure
2267    End
2268  
2269    Behavior = AutoDepositUpdate ModuleTag_05
2270      DepositTiming       = 2000   ; in milliseconds
2271      DepositAmount       = 20   ; cash amount to deposit every DepositTiming
2272      InitialCaptureBonus = 0  ; no initial bonus
2273    End
2274  
2275    Behavior = ProductionUpdate ModuleTag_06
2276      ; nothing
2277    End
2278  
2279    Behavior                 = DestroyDie ModuleTag_07
2280      ;nothing
2281    End
2282    Behavior                 = RebuildHoleExposeDie ModuleTag_08
2283      HoleName          = GLAHoleBlackMarket
2284      HoleMaxHealth     = 500.0
2285    End 
2286    Behavior                 = CreateObjectDie ModuleTag_09
2287      CreationList      = OCL_ABPowerPlantExplode
2288    End
2289    Behavior                 = FXListDie ModuleTag_10
2290      DeathFX           = FX_StructureSmallDeath
2291    End
2292  
2293    Behavior = FlammableUpdate ModuleTag_12
2294      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
2295      AflameDamageAmount = 5       ; taking this much damage...
2296      AflameDamageDelay = 500       ; this often.
2297    End
2298  
2299    Behavior = TransitionDamageFX ModuleTag_13
2300      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
2301      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
2302      ;---------------------------------------------------------------------------------------
2303      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
2304      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
2305      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
2306    End
2307  
2308    Geometry            = BOX
2309    GeometryMajorRadius = 35.0
2310    GeometryMinorRadius = 35.0
2311    GeometryHeight      = 35.0
2312    GeometryIsSmall     = No
2313    Shadow              = SHADOW_VOLUME
2314    BuildCompletion     = PLACED_BY_PLAYER
2315  
2316  End
2317  
2318  ;------------------------------------------------------------------------------
2319  ObjectReskin Chem_GLAHoleBlackMarket Chem_GLAHole
2320    Draw                     = W3DModelDraw ModuleTag_01
2321      OkToChangeModelColor   = Yes
2322      ConditionState         = NONE
2323        Model                = UBHole
2324      End
2325      ConditionState         = DAMAGED
2326        Model                = UBHole_D
2327        ParticleSysBone      = Smoke01 SteamVent
2328      End
2329      ConditionState         = REALLYDAMAGED RUBBLE
2330        Model                = UBHole_E
2331        ParticleSysBone      = Smoke01 SteamVent
2332        ParticleSysBone      = Smoke02 SteamVent
2333        ParticleSysBone      = Fire01 GLAPowerPlantFlame
2334        ParticleSysBone      = Fire02 GLAPowerPlantFlame
2335        ParticleSysBone      = Fire03 GLAPowerPlantFlame
2336      End
2337    End
2338    Draw                     = W3DModelDraw ModuleTag_02
2339      OkToChangeModelColor   = Yes
2340      ConditionState         = NONE
2341        Model                = UBBlackMkt_R
2342        ParticleSysBone      = Smoke01 SmolderingSmoke
2343        ParticleSysBone      = Smoke03 SmolderingSmoke
2344        ParticleSysBone      = Smoke04 SmolderingSmoke
2345      End
2346      ConditionState         = DAMAGED REALLYDAMAGED RUBBLE
2347        Model                = UBBlackMkt_R
2348        ParticleSysBone      = Smoke01 SmolderingSmoke
2349        ParticleSysBone      = Smoke03 SmolderingSmoke
2350        ParticleSysBone      = Smoke04 SmolderingSmoke
2351      End
2352    End
2353  End
2354  
2355  ;------------------------------------------------------------------------------
2356  Object Chem_FakeGLABlackMarket
2357  
2358    ; *** ART Parameters ***
2359    SelectPortrait         = SUBlackMarket_L
2360    ButtonImage            = SUBlackMarket
2361  
2362  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
2363  
2364    Draw                = W3DModelDraw ModuleTag_01
2365      OkToChangeModelColor = Yes
2366  
2367      ; day
2368      ConditionState    = NONE
2369        Model           = UBBlackMkt
2370        Animation       = UBBlackMkt.UBBlackMkt
2371        AnimationMode   = LOOP
2372        ParticleSysBone = Smoke01 SmolderingSmoke      
2373      End
2374      ConditionState    = DAMAGED
2375        Model           = UBBlackMkt_D
2376        Animation       = UBBlackMkt_D.UBBlackMkt_D
2377        AnimationMode   = LOOP
2378        ParticleSysBone = Smoke01 SmolderingSmoke
2379        ParticleSysBone = Smoke02 SmolderingSmoke
2380        ParticleSysBone = Smoke03 SmolderingSmoke
2381        ParticleSysBone = Smoke04 SmolderingSmoke
2382        ParticleSysBone = Smoke05 SmolderingSmoke
2383        ParticleSysBone = Smoke06 SmolderingSmoke
2384        ParticleSysBone = Fire02 SmolderingFire
2385        ParticleSysBone = Fire03 SmolderingFire
2386        ParticleSysBone = Fire04 SmolderingFire
2387        ParticleSysBone = Fire05 SmolderingFire
2388        ParticleSysBone = Fire06 SmolderingFire
2389      End
2390      ConditionState    = REALLYDAMAGED RUBBLE
2391        Model           = UBBlackMkt_E
2392        Animation       = UBBlackMkt_E.UBBlackMkt_E
2393        AnimationMode   = LOOP
2394        ParticleSysBone = Smoke01 SmolderingSmoke
2395        ParticleSysBone = Smoke02 SmolderingSmoke
2396        ParticleSysBone = Smoke03 SmolderingSmoke
2397        ParticleSysBone = Smoke04 SmolderingSmoke
2398        ParticleSysBone = Smoke05 SmolderingSmoke
2399        ParticleSysBone = Smoke06 SmolderingSmoke
2400        ParticleSysBone = Smoke07 SmolderingSmoke
2401        ParticleSysBone = Fire02 SmolderingFire
2402        ParticleSysBone = Fire03 SmolderingFire
2403        ParticleSysBone = Fire04 SmolderingFire
2404        ParticleSysBone = Fire05 SmolderingFire
2405        ParticleSysBone = Fire06 SmolderingFire
2406        ParticleSysBone = Fire07 SmolderingFire
2407      End
2408      ConditionState         = GARRISONED
2409        Model                = UBBlkMktEG
2410        ParticleSysBone      = Smoke01 SmolderingSmoke
2411        Animation            = UBBlkMktEG.UBBlkMktEG
2412        AnimationMode        = LOOP
2413      End
2414      ConditionState         = DAMAGED GARRISONED
2415        Model                = UBBlkMktEG_D
2416        ParticleSysBone      = Smoke01 SmolderingSmoke
2417        Animation            = UBBlkMktEG_D.UBBlkMktEG_D
2418        AnimationMode        = LOOP
2419      End
2420      ConditionState         = REALLYDAMAGED GARRISONED
2421        Model                = UBBlkMktEG_E
2422        ParticleSysBone      = Smoke01 SmolderingSmoke
2423        Animation            = UBBlkMktEG_E.UBBlkMktEG_E
2424        AnimationMode        = LOOP
2425      End
2426  
2427      ; day snow
2428      ConditionState    = SNOW
2429        Model           = UBBlackMkt_S
2430        Animation       = UBBlackMkt_S.UBBlackMkt_S
2431        AnimationMode   = LOOP
2432        ParticleSysBone = Smoke01 SmolderingSmoke      
2433      End
2434      ConditionState    = DAMAGED SNOW
2435        Model           = UBBlackMkt_DS
2436        Animation       = UBBlackMkt_DS.UBBlackMkt_DS
2437        AnimationMode   = LOOP
2438        ParticleSysBone = Smoke01 SmolderingSmoke
2439        ParticleSysBone = Smoke02 SmolderingSmoke
2440        ParticleSysBone = Smoke03 SmolderingSmoke
2441        ParticleSysBone = Smoke04 SmolderingSmoke
2442        ParticleSysBone = Smoke05 SmolderingSmoke
2443        ParticleSysBone = Smoke06 SmolderingSmoke
2444        ParticleSysBone = Fire02 SmolderingFire
2445        ParticleSysBone = Fire03 SmolderingFire
2446        ParticleSysBone = Fire04 SmolderingFire
2447        ParticleSysBone = Fire05 SmolderingFire
2448        ParticleSysBone = Fire06 SmolderingFire
2449      End
2450      ConditionState    = REALLYDAMAGED RUBBLE SNOW
2451        Model           = UBBlackMkt_ES
2452        Animation       = UBBlackMkt_ES.UBBlackMkt_ES
2453        AnimationMode   = LOOP
2454        ParticleSysBone = Smoke01 SmolderingSmoke
2455        ParticleSysBone = Smoke02 SmolderingSmoke
2456        ParticleSysBone = Smoke03 SmolderingSmoke
2457        ParticleSysBone = Smoke04 SmolderingSmoke
2458        ParticleSysBone = Smoke05 SmolderingSmoke
2459        ParticleSysBone = Smoke06 SmolderingSmoke
2460        ParticleSysBone = Smoke07 SmolderingSmoke
2461        ParticleSysBone = Fire02 SmolderingFire
2462        ParticleSysBone = Fire03 SmolderingFire
2463        ParticleSysBone = Fire04 SmolderingFire
2464        ParticleSysBone = Fire05 SmolderingFire
2465        ParticleSysBone = Fire06 SmolderingFire
2466        ParticleSysBone = Fire07 SmolderingFire
2467      End
2468      ConditionState         = GARRISONED SNOW
2469        Model                = UBBlkMktEG_S
2470        ParticleSysBone      = Smoke01 SmolderingSmoke
2471        Animation            = UBBlkMktEG_S.UBBlkMktEG_S
2472        AnimationMode        = LOOP
2473      End
2474      ConditionState         = DAMAGED GARRISONED SNOW
2475        Model                = UBBlkMktEG_DS
2476        ParticleSysBone      = Smoke01 SmolderingSmoke
2477        Animation            = UBBlkMktEG_DS.UBBlkMktEG_DS
2478        AnimationMode        = LOOP
2479      End
2480      ConditionState         = REALLYDAMAGED GARRISONED SNOW
2481        Model                = UBBlkMktEG_ES
2482        ParticleSysBone      = Smoke01 SmolderingSmoke
2483        Animation            = UBBlkMktEG_ES.UBBlkMktEG_ES
2484        AnimationMode        = LOOP
2485      End
2486  
2487      ; night
2488      ConditionState    = NIGHT 
2489        Model           = UBBlackMkt_N
2490        Animation       = UBBlackMkt_N.UBBlackMkt_N
2491        AnimationMode   = LOOP
2492        ParticleSysBone = Smoke01 SmolderingSmoke      
2493      End
2494      ConditionState    = DAMAGED NIGHT
2495        Model           = UBBlackMkt_DN
2496        Animation       = UBBlackMkt_DN.UBBlackMkt_DN
2497        AnimationMode   = LOOP
2498        ParticleSysBone = Smoke01 SmolderingSmoke
2499        ParticleSysBone = Smoke02 SmolderingSmoke
2500        ParticleSysBone = Smoke03 SmolderingSmoke
2501        ParticleSysBone = Smoke04 SmolderingSmoke
2502        ParticleSysBone = Smoke05 SmolderingSmoke
2503        ParticleSysBone = Smoke06 SmolderingSmoke
2504        ParticleSysBone = Fire02 SmolderingFire
2505        ParticleSysBone = Fire03 SmolderingFire
2506        ParticleSysBone = Fire04 SmolderingFire
2507        ParticleSysBone = Fire05 SmolderingFire
2508        ParticleSysBone = Fire06 SmolderingFire
2509      End
2510      ConditionState    = REALLYDAMAGED RUBBLE NIGHT
2511        Model           = UBBlackMkt_EN
2512        Animation       = UBBlackMkt_EN.UBBlackMkt_EN
2513        AnimationMode   = LOOP
2514        ParticleSysBone = Smoke01 SmolderingSmoke
2515        ParticleSysBone = Smoke02 SmolderingSmoke
2516        ParticleSysBone = Smoke03 SmolderingSmoke
2517        ParticleSysBone = Smoke04 SmolderingSmoke
2518        ParticleSysBone = Smoke05 SmolderingSmoke
2519        ParticleSysBone = Smoke06 SmolderingSmoke
2520        ParticleSysBone = Smoke07 SmolderingSmoke
2521        ParticleSysBone = Fire02 SmolderingFire
2522        ParticleSysBone = Fire03 SmolderingFire
2523        ParticleSysBone = Fire04 SmolderingFire
2524        ParticleSysBone = Fire05 SmolderingFire
2525        ParticleSysBone = Fire06 SmolderingFire
2526        ParticleSysBone = Fire07 SmolderingFire
2527      End
2528      ConditionState         = GARRISONED NIGHT
2529        Model                = UBBlkMktEG_N
2530        ParticleSysBone      = Smoke01 SmolderingSmoke
2531        Animation            = UBBlkMktEG_N.UBBlkMktEG_N
2532        AnimationMode        = LOOP
2533      End
2534      ConditionState         = DAMAGED GARRISONED NIGHT
2535        Model                = UBBlkMktEG_DN
2536        ParticleSysBone      = Smoke01 SmolderingSmoke
2537        Animation            = UBBlkMktEG_DN.UBBlkMktEG_DN
2538        AnimationMode        = LOOP
2539      End
2540      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
2541        Model                = UBBlkMktEG_EN
2542        ParticleSysBone      = Smoke01 SmolderingSmoke
2543        Animation            = UBBlkMktEG_EN.UBBlkMktEG_EN
2544        AnimationMode        = LOOP
2545      End
2546  
2547      ; night snow
2548      ConditionState    = NIGHT SNOW
2549        Model           = UBBlackMkt_NS
2550        Animation       = UBBlackMkt_NS.UBBlackMkt_NS
2551        AnimationMode   = LOOP
2552        ParticleSysBone = Smoke01 SmolderingSmoke      
2553      End
2554      ConditionState    = DAMAGED NIGHT SNOW
2555        Model           = UBBlackMkt_DNS
2556        Animation       = UBBlackMkt_DNS.UBBlackMkt_DNS
2557        AnimationMode   = LOOP
2558        ParticleSysBone = Smoke01 SmolderingSmoke
2559        ParticleSysBone = Smoke02 SmolderingSmoke
2560        ParticleSysBone = Smoke03 SmolderingSmoke
2561        ParticleSysBone = Smoke04 SmolderingSmoke
2562        ParticleSysBone = Smoke05 SmolderingSmoke
2563        ParticleSysBone = Smoke06 SmolderingSmoke
2564        ParticleSysBone = Fire02 SmolderingFire
2565        ParticleSysBone = Fire03 SmolderingFire
2566        ParticleSysBone = Fire04 SmolderingFire
2567        ParticleSysBone = Fire05 SmolderingFire
2568        ParticleSysBone = Fire06 SmolderingFire
2569      End
2570      ConditionState    = REALLYDAMAGED RUBBLE NIGHT SNOW
2571        Model           = UBBlackMkt_ENS
2572        Animation       = UBBlackMkt_ENS.UBBlackMkt_ENS
2573        AnimationMode   = LOOP
2574        ParticleSysBone = Smoke01 SmolderingSmoke
2575        ParticleSysBone = Smoke02 SmolderingSmoke
2576        ParticleSysBone = Smoke03 SmolderingSmoke
2577        ParticleSysBone = Smoke04 SmolderingSmoke
2578        ParticleSysBone = Smoke05 SmolderingSmoke
2579        ParticleSysBone = Smoke06 SmolderingSmoke
2580        ParticleSysBone = Smoke07 SmolderingSmoke
2581        ParticleSysBone = Fire02 SmolderingFire
2582        ParticleSysBone = Fire03 SmolderingFire
2583        ParticleSysBone = Fire04 SmolderingFire
2584        ParticleSysBone = Fire05 SmolderingFire
2585        ParticleSysBone = Fire06 SmolderingFire
2586        ParticleSysBone = Fire07 SmolderingFire
2587      End
2588      ConditionState         = GARRISONED NIGHT SNOW
2589        Model                = UBBlkMktEG_NS
2590        ParticleSysBone      = Smoke01 SmolderingSmoke
2591        Animation            = UBBlkMktEG_NS.UBBlkMktEG_NS
2592        AnimationMode        = LOOP
2593      End
2594      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
2595        Model                = UBBlkMktEG_DNS
2596        ParticleSysBone      = Smoke01 SmolderingSmoke
2597        Animation            = UBBlkMktEG_DNS.UBBlkMktEG_DNS
2598        AnimationMode        = LOOP
2599      End
2600      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
2601        Model                = UBBlkMktEG_ENS
2602        ParticleSysBone      = Smoke01 SmolderingSmoke
2603        Animation            = UBBlkMktEG_ENS.UBBlkMktEG_ENS
2604        AnimationMode        = LOOP
2605      End
2606  
2607      ;**************************************************************************************************************************
2608      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
2609      ;for this draw module
2610      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2611        Model              = UBBlackMkt
2612        Animation          = UBBlackMkt.UBBlackMkt
2613        AnimationMode      = LOOP
2614        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2615      End
2616      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
2617        Model              = UBBlackMkt_D
2618        Animation          = UBBlackMkt_D.UBBlackMkt_D
2619        AnimationMode      = LOOP
2620        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2621      End
2622      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
2623        Model              = UBBlackMkt_E
2624        Animation          = UBBlackMkt_E.UBBlackMkt_E
2625        AnimationMode      = LOOP
2626        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2627      End
2628      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
2629        Model              = UBBlackMkt_N
2630        Animation          = UBBlackMkt_N.UBBlackMkt_N
2631        AnimationMode      = LOOP
2632        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2633      End
2634      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
2635        Model              = UBBlackMkt_DN
2636        Animation          = UBBlackMkt_DN.UBBlackMkt_DN
2637        AnimationMode      = LOOP
2638        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2639      End
2640      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
2641        Model              = UBBlackMkt_EN
2642        Animation          = UBBlackMkt_EN.UBBlackMkt_EN
2643        AnimationMode      = LOOP
2644        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2645      End
2646      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
2647        Model              = UBBlackMkt_S
2648        Animation          = UBBlackMkt_S.UBBlackMkt_S
2649        AnimationMode      = LOOP
2650        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2651      End
2652      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
2653        Model              = UBBlackMkt_DS
2654        Animation          = UBBlackMkt_DS.UBBlackMkt_DS
2655        AnimationMode      = LOOP
2656        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2657      End
2658      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
2659        Model              = UBBlackMkt_ES
2660        Animation          = UBBlackMkt_ES.UBBlackMkt_ES
2661        AnimationMode      = LOOP
2662        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2663      End
2664      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
2665        Model              = UBBlackMkt_NS
2666        Animation          = UBBlackMkt_NS.UBBlackMkt_NS
2667        AnimationMode      = LOOP
2668        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2669      End
2670      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
2671        Model              = UBBlackMkt_DNS
2672        Animation          = UBBlackMkt_DNS.UBBlackMkt_DNS
2673        AnimationMode      = LOOP
2674        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2675      End
2676      ConditionState       =  PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
2677        Model              = UBBlackMkt_ENS
2678        Animation          = UBBlackMkt_ENS.UBBlackMkt_ENS
2679        AnimationMode      = LOOP
2680        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
2681      End
2682  
2683      ConditionState       = AWAITING_CONSTRUCTION 
2684        Model              = NONE
2685      End
2686      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
2687      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
2688      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
2689      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
2690      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
2691      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
2692      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
2693      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
2694      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
2695      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
2696      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
2697      AliasConditionState  = SOLD 
2698      AliasConditionState  = SOLD DAMAGED
2699      AliasConditionState  = SOLD REALLYDAMAGED
2700      AliasConditionState  = SOLD NIGHT
2701      AliasConditionState  = SOLD NIGHT DAMAGED
2702      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
2703      AliasConditionState  = SOLD SNOW
2704      AliasConditionState  = SOLD SNOW DAMAGED
2705      AliasConditionState  = SOLD SNOW REALLYDAMAGED
2706      AliasConditionState  = SOLD NIGHT SNOW
2707      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
2708      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
2709      AliasConditionState  = GARRISONED SOLD 
2710      AliasConditionState  = GARRISONED SOLD DAMAGED
2711      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
2712      AliasConditionState  = GARRISONED SOLD NIGHT
2713      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
2714      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
2715      AliasConditionState  = GARRISONED SOLD SNOW
2716      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
2717      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
2718      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
2719      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
2720      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
2721      ;**************************************************************************************************************************
2722      
2723    End  
2724  
2725    ; ------------ construction-zone fence -----------------
2726    Draw = W3DModelDraw ModuleTag_02
2727    AnimationsRequirePower = No
2728      DefaultConditionState
2729        Model           = None
2730        TransitionKey   = DOWN_DEFAULT
2731  
2732      End
2733      ConditionState    = NIGHT
2734        Model           = None
2735        TransitionKey   = DOWN_DEFAULT
2736      End
2737      ConditionState    = SNOW
2738        Model           = None
2739        TransitionKey   = DOWN_DEFAULT
2740      End   
2741      ConditionState    = SNOW NIGHT
2742        Model           = None
2743        TransitionKey   = DOWN_DEFAULT
2744      End
2745      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2746        Model           = UBBlackMkt_A4
2747        Animation       = UBBlackMkt_A4.UBBlackMkt_A4
2748        AnimationMode   = MANUAL
2749        Flags           = START_FRAME_LAST
2750        TransitionKey   = UP_DAY
2751      End
2752      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2753        Model           = UBBlackMkt_A4N
2754        Animation       = UBBlackMkt_A4N.UBBlackMkt_A4N
2755        AnimationMode   = MANUAL
2756        Flags           = START_FRAME_LAST
2757        TransitionKey   = UP_NIGHT
2758      End
2759      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2760        Model           = UBBlackMkt_A4S
2761        Animation       = UBBlackMkt_A4S.UBBlackMkt_A4S
2762        AnimationMode   = MANUAL
2763        Flags           = START_FRAME_LAST
2764        TransitionKey   = UP_SNOW
2765      End   
2766      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
2767        Model           = UBBlackMkt_A4SN
2768        Animation       = UBBlackMkt_A4SN.UBBlackMkt_A4SN
2769        AnimationMode   = MANUAL
2770        Flags           = START_FRAME_LAST
2771        TransitionKey   = UP_SNOWNIGHT
2772      End 
2773      TransitionState   = DOWN_DEFAULT UP_DAY
2774        Model           = UBBlackMkt_A4
2775        Animation       = UBBlackMkt_A4.UBBlackMkt_A4
2776        AnimationMode   = ONCE
2777        AnimationSpeedFactorRange = 1.0 1.0
2778        Flags           = START_FRAME_FIRST
2779      End
2780      TransitionState   = DOWN_DEFAULT UP_NIGHT
2781        Model           = UBBlackMkt_A4N
2782        Animation       = UBBlackMkt_A4N.UBBlackMkt_A4N
2783        AnimationMode   = ONCE
2784        AnimationSpeedFactorRange = 1.0 1.0
2785        Flags           = START_FRAME_FIRST
2786      End
2787      TransitionState   = DOWN_DEFAULT UP_SNOW
2788        Model           = UBBlackMkt_A4S
2789        Animation       = UBBlackMkt_A4S.UBBlackMkt_A4S
2790        AnimationMode   = ONCE
2791        AnimationSpeedFactorRange = 1.0 1.0
2792        Flags           = START_FRAME_FIRST
2793      End
2794      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
2795        Model           = UBBlackMkt_A4SN
2796        Animation       = UBBlackMkt_A4SN.UBBlackMkt_A4SN
2797        AnimationMode   = ONCE
2798        AnimationSpeedFactorRange = 1.0 1.0
2799        Flags           = START_FRAME_FIRST
2800      End
2801      TransitionState   = UP_DAY DOWN_DEFAULT
2802        Model           = UBBlackMkt_A4
2803        Animation       = UBBlackMkt_A4.UBBlackMkt_A4
2804        AnimationMode   = ONCE_BACKWARDS
2805        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2806        Flags           = START_FRAME_LAST
2807      End
2808      TransitionState   = UP_NIGHT DOWN_DEFAULT
2809        Model           = UBBlackMkt_A4N
2810        Animation       = UBBlackMkt_A4N.UBBlackMkt_A4N
2811        AnimationMode   = ONCE_BACKWARDS
2812        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2813        Flags           = START_FRAME_LAST
2814      End
2815      TransitionState   = UP_SNOW DOWN_DEFAULT
2816        Model           = UBBlackMkt_A4S
2817        Animation       = UBBlackMkt_A4S.UBBlackMkt_A4S
2818        AnimationMode   = ONCE_BACKWARDS
2819        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2820        Flags           = START_FRAME_LAST
2821      End
2822      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
2823        Model           = UBBlackMkt_A4SN
2824        Animation       = UBBlackMkt_A4SN.UBBlackMkt_A4SN
2825        AnimationMode   = ONCE_BACKWARDS
2826        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2827        Flags           = START_FRAME_LAST
2828      End
2829    End
2830  
2831    ; ------------ under-construction scaffolding -----------------
2832    Draw = W3DModelDraw ModuleTag_03
2833    AnimationsRequirePower = No
2834      MinLODRequired = MEDIUM
2835      DefaultConditionState
2836        Model           = None
2837        TransitionKey   = DOWN_DEFAULT
2838      End
2839      ConditionState    = NIGHT
2840        Model           = None
2841        TransitionKey   = DOWN_DEFAULT
2842      End
2843      ConditionState    = SNOW
2844        Model           = None
2845        TransitionKey   = DOWN_DEFAULT
2846      End 
2847      ConditionState    = SNOW NIGHT
2848        Model           = None
2849        TransitionKey   = DOWN_DEFAULT
2850      End 
2851      ConditionState    = PARTIALLY_CONSTRUCTED
2852        Model           = UBBlackMkt_A6
2853        Animation       = UBBlackMkt_A6.UBBlackMkt_A6
2854        AnimationMode   = MANUAL
2855        Flags           = START_FRAME_LAST
2856        TransitionKey   = UP_DAY
2857        ParticleSysBone = Dust01 BuildingDust
2858        ParticleSysBone = Smoke01 BuildUpSmoke
2859        ParticleSysBone = Smoke02 BuildUpSmoke
2860        ParticleSysBone = Smoke03 BuildUpSmoke
2861        ParticleSysBone = Smoke04 BuildUpSmoke
2862      End
2863      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
2864        Model           = UBBlackMkt_A6N
2865        Animation       = UBBlackMkt_A6N.UBBlackMkt_A6N
2866        AnimationMode   = MANUAL
2867        Flags           = START_FRAME_LAST
2868        TransitionKey   = UP_NIGHT
2869        ParticleSysBone = Dust01 BuildingDust
2870        ParticleSysBone = Smoke01 BuildUpSmoke
2871        ParticleSysBone = Smoke02 BuildUpSmoke
2872        ParticleSysBone = Smoke03 BuildUpSmoke
2873        ParticleSysBone = Smoke04 BuildUpSmoke
2874      End
2875      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
2876        Model           = UBBlackMkt_A6S
2877        Animation       = UBBlackMkt_A6S.UBBlackMkt_A6S
2878        AnimationMode   = MANUAL
2879        Flags           = START_FRAME_LAST
2880        TransitionKey   = UP_SNOW
2881        ParticleSysBone = Dust01 BuildingSnowDust
2882        ParticleSysBone = Smoke01 BuildUpSnowSmoke
2883        ParticleSysBone = Smoke02 BuildUpSnowSmoke
2884        ParticleSysBone = Smoke03 BuildUpSnowSmoke
2885        ParticleSysBone = Smoke04 BuildUpSnowSmoke
2886      End
2887      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
2888        Model           = UBBlackMkt_A6SN
2889        Animation       = UBBlackMkt_A6SN.UBBlackMkt_A6SN
2890        AnimationMode   = MANUAL
2891        Flags           = START_FRAME_LAST
2892        TransitionKey   = UP_SNOWNIGHT
2893        ParticleSysBone = Dust01 BuildingNightSnowDust
2894        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
2895        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
2896        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
2897        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
2898      End
2899      TransitionState   = DOWN_DEFAULT UP_DAY
2900       Model            = UBBlackMkt_A6
2901        Animation       = UBBlackMkt_A6.UBBlackMkt_A6
2902        AnimationMode   = ONCE
2903        AnimationSpeedFactorRange = 1.0 1.0
2904        Flags           = START_FRAME_FIRST
2905      End
2906      TransitionState   = DOWN_DEFAULT UP_NIGHT
2907       Model            = UBBlackMkt_A6N
2908        Animation       = UBBlackMkt_A6N.UBBlackMkt_A6N
2909        AnimationMode   = ONCE
2910        AnimationSpeedFactorRange = 1.0 1.0
2911        Flags           = START_FRAME_FIRST
2912      End
2913      TransitionState   = DOWN_DEFAULT UP_SNOW
2914       Model            = UBBlackMkt_A6S
2915        Animation       = UBBlackMkt_A6S.UBBlackMkt_A6S
2916        AnimationMode   = ONCE
2917        AnimationSpeedFactorRange = 1.0 1.0
2918        Flags           = START_FRAME_FIRST
2919      End
2920      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
2921       Model            = UBBlackMkt_A6SN
2922        Animation       = UBBlackMkt_A6SN.UBBlackMkt_A6SN
2923        AnimationMode   = ONCE
2924        AnimationSpeedFactorRange = 1.0 1.0
2925        Flags           = START_FRAME_FIRST
2926      End
2927      TransitionState   = UP_DAY DOWN_DEFAULT
2928        Model           = UBBlackMkt_A6
2929        Animation       = UBBlackMkt_A6.UBBlackMkt_A6
2930        AnimationMode   = ONCE_BACKWARDS
2931        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2932        Flags           = START_FRAME_LAST
2933      End
2934      TransitionState   = UP_NIGHT DOWN_DEFAULT
2935        Model           = UBBlackMkt_A6N
2936        Animation       = UBBlackMkt_A6N.UBBlackMkt_A6N
2937        AnimationMode   = ONCE_BACKWARDS
2938        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2939        Flags           = START_FRAME_LAST
2940      End
2941      TransitionState   = UP_SNOW DOWN_DEFAULT
2942        Model           = UBBlackMkt_A6S
2943        Animation       = UBBlackMkt_A6S.UBBlackMkt_A6S
2944        AnimationMode   = ONCE_BACKWARDS
2945        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2946        Flags           = START_FRAME_LAST
2947      End
2948      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
2949        Model           = UBBlackMkt_A6SN
2950        Animation       = UBBlackMkt_A6SN.UBBlackMkt_A6SN
2951        AnimationMode   = ONCE_BACKWARDS
2952        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
2953        Flags           = START_FRAME_LAST
2954      End
2955    End
2956    PlacementViewAngle  = -45
2957  
2958    ; ***DESIGN parameters ***
2959    DisplayName         = OBJECT:BlackMarket
2960    Side                = GLAToxinGeneral
2961    EditorSorting       = STRUCTURE
2962    Prerequisites
2963      Object = Chem_GLAPalace
2964    End
2965    BuildCost           = 625
2966    BuildTime           = 20.0           ; in seconds
2967    EnergyProduction    = 0
2968    CommandSet          = FakeGLABlackMarketCommandSet
2969    VisionRange         = 200.0           ; Shroud clearing distance
2970    ShroudClearingRange = 200
2971  
2972    WeaponSet
2973      Conditions          = None 
2974      Weapon = PRIMARY SuicideWeapon
2975      AutoChooseSources = PRIMARY None
2976    End
2977  
2978    ArmorSet
2979      Conditions        = None
2980      Armor             = StructureArmor
2981      DamageFX          = StructureDamageFXNoShake
2982    End
2983    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
2984  
2985    ; *** AUDIO Parameters ***
2986    VoiceSelect         = BlackMarketSelect
2987    SoundOnDamaged        = BuildingDamagedStateLight
2988    SoundOnReallyDamaged  = BuildingDestroy
2989  
2990    UnitSpecificSounds
2991      UnderConstruction     = UnderConstructionLoop
2992    End
2993  
2994    ; *** ENGINEERING Parameters ***
2995    RadarPriority       = STRUCTURE
2996    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE
2997    Body                = StructureBody ModuleTag_04
2998      MaxHealth         = 125.0
2999      InitialHealth     = 125.0
3000  
3001      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
3002      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
3003      SubdualDamageCap = 325
3004      SubdualDamageHealRate = 500
3005      SubdualDamageHealAmount = 100
3006    End
3007  
3008    Behavior = AIUpdateInterface ModuleTag_05
3009      AutoAcquireEnemiesWhenIdle = No
3010    End
3011  
3012    Behavior = ProductionUpdate ModuleTag_06
3013      ; nothing
3014    End
3015  
3016    Behavior = SlowDeathBehavior ModuleTag_07
3017      ExemptStatus = UNDER_CONSTRUCTION
3018      DestructionDelay = 0
3019      Weapon = FINAL FakeStructureDetonationWeapon
3020    End
3021    Behavior = DestroyDie ModuleTag_SlowDeathException
3022      RequiredStatus = UNDER_CONSTRUCTION
3023    End
3024  
3025    Behavior = ReplaceObjectUpgrade ModuleTag_08
3026      ReplaceObject = Chem_GLABlackMarket
3027      TriggeredBy = Upgrade_BecomeRealGLABlackMarket
3028    End
3029  
3030    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
3031      ConditionFlag = GARRISONED
3032      TriggeredBy   = Upgrade_GLAFortifiedStructure
3033    End
3034  
3035    Behavior                 = CreateObjectDie ModuleTag_09
3036      CreationList      = OCL_ABPowerPlantExplode
3037    End
3038    Behavior                 = FXListDie ModuleTag_10
3039      DeathFX           = FX_StructureSmallDeath
3040    End
3041  
3042    Behavior = FlammableUpdate ModuleTag_12
3043      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
3044      AflameDamageAmount = 5       ; taking this much damage...
3045      AflameDamageDelay = 500       ; this often.
3046    End
3047  
3048    Behavior = TransitionDamageFX ModuleTag_13
3049      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
3050      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
3051      ;---------------------------------------------------------------------------------------
3052      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
3053      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
3054      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
3055    End
3056  
3057    Behavior = AutoDepositUpdate ModuleTag_FakeMoney
3058      DepositTiming       = 2000   ; in milliseconds
3059      DepositAmount       = 20   ; cash amount to deposit every DepositTiming
3060      InitialCaptureBonus = 0  ; no initial bonus
3061      ActualMoney = No ; Display only so I look like a BlackMarket
3062    End
3063  
3064    Geometry            = BOX
3065    GeometryMajorRadius = 35.0
3066    GeometryMinorRadius = 35.0
3067    GeometryHeight      = 35.0
3068    GeometryIsSmall     = No
3069    Shadow              = SHADOW_VOLUME
3070    ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure.
3071    ShadowSizeX = 108
3072    ShadowSizeY = 96
3073    BuildCompletion     = PLACED_BY_PLAYER
3074  
3075  End
3076  
3077  ;------------------------------------------------------------------------------
3078  Object Chem_GLAScudStorm
3079  
3080    ; *** ART Parameters ***
3081    SelectPortrait         = SUScudStorm_L
3082    ButtonImage            = SUScudStorm
3083    Draw = W3DModelDraw ModuleTag_01
3084      OkToChangeModelColor = Yes
3085      ProjectileBoneFeedbackEnabledSlots = PRIMARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
3086  
3087      ; day
3088      ConditionState = NONE ; lying around
3089        Model         = UBScudStrm_A1
3090        Animation     = UBScudStrm_A1.UBScudStrm_A1
3091        AnimationMode = MANUAL
3092        Flags         = START_FRAME_FIRST
3093        WeaponLaunchBone = PRIMARY WeaponA
3094        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3095        TransitionKey = Trans_READY
3096  
3097        ParticleSysBone      = SteamM01 SteamLarge
3098        ParticleSysBone      = SteamS01 SteamMedium
3099      End
3100  
3101      TransitionState = Trans_READY Trans_ATTACKING ; from lying around to straight up
3102        Model         = UBScudStrm_A1
3103        Animation     = UBScudStrm_A1.UBScudStrm_A1
3104        AnimationMode = ONCE
3105        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3106        WeaponLaunchBone = PRIMARY WeaponA
3107  
3108        ParticleSysBone      = SteamM01 SteamLarge
3109        ParticleSysBone      = SteamS01 SteamMedium
3110  
3111        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3112        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3113        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3114      End
3115  
3116      ConditionState = ATTACKING  ; Projectile feedback code selectively hiding missiles as they shoot
3117        Model         = UBScudStrm_A2
3118        Animation     = UBScudStrm_A2.UBScudStrm_A2
3119        AnimationMode = MANUAL
3120        Flags         = START_FRAME_FIRST
3121        WeaponLaunchBone = PRIMARY WeaponA
3122        TransitionKey = Trans_ATTACKING
3123  
3124        ParticleSysBone      = SteamM01 SteamLarge
3125        ParticleSysBone      = SteamS01 SteamMedium
3126  
3127        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3128        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3129        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3130      End
3131      AliasConditionState = ATTACKING FIRING_A
3132      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A
3133  
3134      TransitionState = Trans_ATTACKING Trans_READY ; empty arms going underground, coming up with presents for bad people
3135        Model         = UBScudStrm_A3
3136        Animation     = UBScudStrm_A3.UBScudStrm_A3
3137        AnimationMode = ONCE
3138        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3139  
3140        ParticleSysBone      = SteamM01 SteamVent
3141        ParticleSysBone      = SteamS01 SteamVent
3142      End
3143      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
3144        Model              = UBScudStrm
3145        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3146      End
3147      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
3148        Model              = UBScudStrm_D
3149        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3150      End
3151      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
3152        Model              = UBScudStrm_E
3153        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3154      End
3155  
3156      ;-------------------------------------------------------------------------------------------------------------------------
3157      ; day
3158      ConditionState = DAMAGED
3159        Model         = UBScudStrm_DA1
3160        Animation     = UBScudStrm_DA1.UBScudStrm_DA1
3161        AnimationMode = MANUAL
3162        Flags         = START_FRAME_FIRST
3163        WeaponLaunchBone = PRIMARY WeaponA
3164        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3165        TransitionKey = Trans_READY_DAMAGED
3166  
3167        ParticleSysBone      = SteamM01 SteamLarge
3168        ParticleSysBone      = SteamS01 SteamMedium
3169      End
3170  
3171      TransitionState = Trans_READY_DAMAGED Trans_ATTACKING_DAMAGED
3172        Model         = UBScudStrm_DA1
3173        Animation     = UBScudStrm_DA1.UBScudStrm_DA1
3174        AnimationMode = ONCE
3175        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3176        WeaponLaunchBone = PRIMARY WeaponA
3177  
3178        ParticleSysBone      = SteamM01 SteamLarge
3179        ParticleSysBone      = SteamS01 SteamMedium
3180  
3181        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3182        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3183        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3184      End
3185  
3186      ConditionState = ATTACKING DAMAGED
3187        Model         = UBScudStrm_DA2
3188        Animation     = UBScudStrm_DA2.UBScudStrm_DA2
3189        AnimationMode = MANUAL
3190        Flags         = START_FRAME_FIRST
3191        WeaponLaunchBone = PRIMARY WeaponA
3192        TransitionKey = Trans_ATTACKING_DAMAGED
3193  
3194        ParticleSysBone      = SteamM01 SteamLarge
3195        ParticleSysBone      = SteamS01 SteamMedium
3196  
3197        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3198        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3199        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3200      End
3201      AliasConditionState = ATTACKING FIRING_A DAMAGED
3202      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED
3203  
3204      TransitionState = Trans_ATTACKING_DAMAGED Trans_READY_DAMAGED
3205        Model         = UBScudStrm_DA3
3206        Animation     = UBScudStrm_DA3.UBScudStrm_DA3
3207        AnimationMode = ONCE
3208        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3209  
3210        ParticleSysBone      = SteamM01 SteamVent
3211        ParticleSysBone      = SteamS01 SteamVent
3212      End
3213  
3214      ;-------------------------------------------------------------------------------------------------------------------------
3215      ConditionState = REALLYDAMAGED RUBBLE
3216        Model         = UBScudStrm_EA1
3217        Animation     = UBScudStrm_EA1.UBScudStrm_EA1
3218        AnimationMode = MANUAL
3219        Flags         = START_FRAME_FIRST
3220        WeaponLaunchBone = PRIMARY WeaponA
3221        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3222        TransitionKey = Trans_READY_REALLYDAMAGED
3223  
3224        ParticleSysBone      = SteamM01 SteamLarge
3225        ParticleSysBone      = SteamS01 SteamMedium
3226      End
3227  
3228      TransitionState = Trans_READY_REALLYDAMAGED Trans_ATTACKING_REALLYDAMAGED
3229        Model         = UBScudStrm_EA1
3230        Animation     = UBScudStrm_EA1.UBScudStrm_EA1
3231        AnimationMode = ONCE
3232        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3233        WeaponLaunchBone = PRIMARY WeaponA
3234  
3235        ParticleSysBone      = SteamM01 SteamLarge
3236        ParticleSysBone      = SteamS01 SteamMedium
3237  
3238        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3239        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3240        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3241      End
3242  
3243      ConditionState = ATTACKING REALLYDAMAGED RUBBLE
3244        Model         = UBScudStrm_EA2
3245        Animation     = UBScudStrm_EA2.UBScudStrm_EA2
3246        AnimationMode = MANUAL
3247        Flags         = START_FRAME_FIRST
3248        WeaponLaunchBone = PRIMARY WeaponA
3249        TransitionKey = Trans_ATTACKING_REALLYDAMAGED
3250  
3251        ParticleSysBone      = SteamM01 SteamLarge
3252        ParticleSysBone      = SteamS01 SteamMedium
3253  
3254        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3255        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3256        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3257      End
3258      AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE
3259      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE
3260  
3261      TransitionState = Trans_ATTACKING_REALLYDAMAGED Trans_READY_REALLYDAMAGED
3262        Model         = UBScudStrm_EA3
3263        Animation     = UBScudStrm_EA3.UBScudStrm_EA3
3264        AnimationMode = ONCE
3265        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3266  
3267        ParticleSysBone      = SteamM01 SteamVent
3268        ParticleSysBone      = SteamS01 SteamVent
3269      End
3270      
3271          ;-------------------------------------------------------------------------------------------------------------------------
3272          ;  SNOW
3273      ConditionState =  SNOW ; from underground to lying around
3274        Model         = UBScudStrm_A1S
3275        Animation     = UBScudStrm_A1S.UBScudStrm_A1S
3276        AnimationMode = MANUAL
3277        Flags         = START_FRAME_FIRST
3278        WeaponLaunchBone = PRIMARY WeaponA
3279        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3280        TransitionKey = Trans_READY_SNOW
3281  
3282        ParticleSysBone      = SteamM01 SteamLarge
3283        ParticleSysBone      = SteamS01 SteamMedium
3284      End
3285  
3286      TransitionState = Trans_READY_SNOW Trans_ATTACKING_SNOW
3287        Model         = UBScudStrm_A1S
3288        Animation     = UBScudStrm_A1S.UBScudStrm_A1S
3289        AnimationMode = ONCE
3290        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3291        WeaponLaunchBone = PRIMARY WeaponA
3292  
3293        ParticleSysBone      = SteamM01 SteamLarge
3294        ParticleSysBone      = SteamS01 SteamMedium
3295  
3296        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3297        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3298        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3299      End
3300  
3301      ConditionState = ATTACKING  SNOW ; Projectile feedback code selectively hiding missiles as they shoot
3302        Model         = UBScudStrm_A2S
3303        Animation     = UBScudStrm_A2S.UBScudStrm_A2S
3304        AnimationMode = MANUAL
3305        Flags         = START_FRAME_FIRST
3306        WeaponLaunchBone = PRIMARY WeaponA
3307        TransitionKey = Trans_ATTACKING_SNOW
3308  
3309        ParticleSysBone      = SteamM01 SteamLarge
3310        ParticleSysBone      = SteamS01 SteamMedium
3311  
3312        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3313        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3314        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3315      End
3316      AliasConditionState = ATTACKING FIRING_A  SNOW
3317      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A  SNOW
3318  
3319      TransitionState = Trans_ATTACKING_SNOW Trans_READY_SNOW ; empty arms going underground
3320        Model         = UBScudStrm_A3S
3321        Animation     = UBScudStrm_A3S.UBScudStrm_A3S
3322        AnimationMode = ONCE
3323        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3324  
3325        ParticleSysBone      = SteamM01 SteamVent
3326        ParticleSysBone      = SteamS01 SteamVent
3327      End
3328  
3329      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED  SNOW
3330        Model              = UBScudStrm
3331        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3332      End
3333      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED  SNOW
3334        Model              = UBScudStrm_D
3335        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3336      End
3337      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED  SNOW
3338        Model              = UBScudStrm_E
3339        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3340      End
3341  
3342      ;-------------------------------------------------------------------------------------------------------------------------
3343      ConditionState = DAMAGED SNOW
3344        Model         = UBScudStrm_DA1
3345        Animation     = UBScudStrm_DA1.UBScudStrm_DA1
3346        AnimationMode = MANUAL
3347        Flags         = START_FRAME_FIRST
3348        WeaponLaunchBone = PRIMARY WeaponA
3349        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3350        TransitionKey = Trans_READY_DAMAGED_SNOW
3351  
3352        ParticleSysBone      = SteamM01 SteamLarge
3353        ParticleSysBone      = SteamS01 SteamMedium
3354      End
3355  
3356      TransitionState = Trans_READY_DAMAGED_SNOW Trans_ATTACKING_DAMAGED_SNOW
3357        Model         = UBScudStrm_DA1
3358        Animation     = UBScudStrm_DA1.UBScudStrm_DA1
3359        AnimationMode = ONCE
3360        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3361        WeaponLaunchBone = PRIMARY WeaponA
3362  
3363        ParticleSysBone      = SteamM01 SteamLarge
3364        ParticleSysBone      = SteamS01 SteamMedium
3365  
3366        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3367        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3368        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3369      End
3370  
3371      ConditionState = ATTACKING DAMAGED SNOW
3372        Model         = UBScudStrm_DA2
3373        Animation     = UBScudStrm_DA2.UBScudStrm_DA2
3374        AnimationMode = MANUAL
3375        Flags         = START_FRAME_FIRST
3376        WeaponLaunchBone = PRIMARY WeaponA
3377        TransitionKey = Trans_ATTACKING_DAMAGED_SNOW
3378  
3379        ParticleSysBone      = SteamM01 SteamLarge
3380        ParticleSysBone      = SteamS01 SteamMedium
3381  
3382        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3383        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3384        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3385      End
3386      AliasConditionState = ATTACKING FIRING_A DAMAGED SNOW
3387      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A DAMAGED SNOW
3388  
3389      TransitionState = Trans_ATTACKING_DAMAGED_SNOW Trans_READY_DAMAGED_SNOW
3390        Model         = UBScudStrm_DA3
3391        Animation     = UBScudStrm_DA3.UBScudStrm_DA3
3392        AnimationMode = ONCE
3393        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3394  
3395        ParticleSysBone      = SteamM01 SteamVent
3396        ParticleSysBone      = SteamS01 SteamVent
3397      End
3398         
3399      ;-------------------------------------------------------------------------------------------------------------------------
3400      
3401      ConditionState = REALLYDAMAGED RUBBLE SNOW
3402        Model         = UBScudStrm_EA1
3403        Animation     = UBScudStrm_EA1.UBScudStrm_EA1
3404        AnimationMode = MANUAL
3405        Flags         = START_FRAME_FIRST
3406        WeaponLaunchBone = PRIMARY WeaponA
3407        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3408        TransitionKey = Trans_READY_REALLYDAMAGED_SNOW
3409  
3410        ParticleSysBone      = SteamM01 SteamLarge
3411        ParticleSysBone      = SteamS01 SteamMedium
3412      End
3413  
3414      TransitionState = Trans_READY_REALLYDAMAGED_SNOW Trans_ATTACKING_REALLYDAMAGED_SNOW
3415        Model         = UBScudStrm_EA1
3416        Animation     = UBScudStrm_EA1.UBScudStrm_EA1
3417        AnimationMode = ONCE
3418        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3419        WeaponLaunchBone = PRIMARY WeaponA
3420  
3421        ParticleSysBone      = SteamM01 SteamLarge
3422        ParticleSysBone      = SteamS01 SteamMedium
3423  
3424        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3425        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3426        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3427      End
3428  
3429  
3430      ConditionState = ATTACKING REALLYDAMAGED RUBBLE SNOW
3431        Model         = UBScudStrm_EA2
3432        Animation     = UBScudStrm_EA2.UBScudStrm_EA2
3433        AnimationMode = MANUAL
3434        Flags         = START_FRAME_FIRST
3435        WeaponLaunchBone = PRIMARY WeaponA
3436        TransitionKey = Trans_ATTACKING_REALLYDAMAGED_SNOW
3437  
3438        ParticleSysBone      = SteamM01 SteamLarge
3439        ParticleSysBone      = SteamS01 SteamMedium
3440  
3441        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3442        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3443        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3444      End
3445      AliasConditionState = ATTACKING FIRING_A REALLYDAMAGED RUBBLE SNOW
3446      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED RUBBLE SNOW
3447  
3448      TransitionState = Trans_ATTACKING_REALLYDAMAGED_SNOW Trans_READY_REALLYDAMAGED_SNOW
3449        Model         = UBScudStrm_EA3
3450        Animation     = UBScudStrm_EA3.UBScudStrm_EA3
3451        AnimationMode = ONCE
3452        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3453  
3454        ParticleSysBone      = SteamM01 SteamVent
3455        ParticleSysBone      = SteamS01 SteamVent
3456      End
3457      
3458      ;-------------------------------------------------------------------------------------------------------------------------
3459          ; NIGHT
3460      ConditionState = NIGHT ; from underground to lying around
3461        Model         = UBScudStrm_A1
3462        Animation     = UBScudStrm_A1.UBScudStrm_A1
3463        AnimationMode = MANUAL
3464        Flags         = START_FRAME_FIRST
3465        WeaponLaunchBone = PRIMARY WeaponA
3466        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3467        TransitionKey = Trans_READY_NIGHT
3468  
3469        ParticleSysBone      = SteamM01 SteamLarge
3470        ParticleSysBone      = SteamS01 SteamMedium
3471      End
3472  
3473      TransitionState = Trans_READY_NIGHT Trans_ATTACKING_NIGHT
3474        Model         = UBScudStrm_A1
3475        Animation     = UBScudStrm_A1.UBScudStrm_A1
3476        AnimationMode = ONCE
3477        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3478        WeaponLaunchBone = PRIMARY WeaponA
3479  
3480        ParticleSysBone      = SteamM01 SteamLarge
3481        ParticleSysBone      = SteamS01 SteamMedium
3482  
3483        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3484        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3485        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3486      End
3487  
3488      ConditionState = ATTACKING NIGHT  ; Projectile feedback code selectively hiding missiles as they shoot
3489        Model         = UBScudStrm_A2
3490        Animation     = UBScudStrm_A2.UBScudStrm_A2
3491        AnimationMode = MANUAL
3492        Flags         = START_FRAME_FIRST
3493        WeaponLaunchBone = PRIMARY WeaponA
3494        TransitionKey = Trans_ATTACKING_NIGHT
3495  
3496        ParticleSysBone      = SteamM01 SteamLarge
3497        ParticleSysBone      = SteamS01 SteamMedium
3498  
3499        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3500        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3501        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3502      End
3503      AliasConditionState = ATTACKING FIRING_A NIGHT
3504      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT
3505  
3506      TransitionState = Trans_ATTACKING_NIGHT Trans_READY_NIGHT ; empty arms going underground
3507        Model         = UBScudStrm_A3
3508        Animation     = UBScudStrm_A3.UBScudStrm_A3
3509        AnimationMode = ONCE
3510        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3511  
3512        ParticleSysBone      = SteamM01 SteamVent
3513        ParticleSysBone      = SteamS01 SteamVent
3514      End
3515  
3516      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
3517        Model              = UBScudStrm
3518        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3519      End
3520      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
3521        Model              = UBScudStrm_D
3522        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3523      End
3524      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
3525        Model              = UBScudStrm_E
3526        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3527      End
3528  
3529      ;-------------------------------------------------------------------------------------------------------------------------
3530      ConditionState = DAMAGED NIGHT
3531        Model         = UBScudStrm_DA1N
3532        Animation     = UBScudStrm_DA1N.UBScudStrm_DA1N
3533        AnimationMode = MANUAL
3534        Flags         = START_FRAME_FIRST
3535        WeaponLaunchBone = PRIMARY WeaponA
3536        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3537        TransitionKey = Trans_READY_DAMAGED_NIGHT
3538  
3539        ParticleSysBone      = SteamM01 SteamLarge
3540        ParticleSysBone      = SteamS01 SteamMedium
3541      End
3542  
3543      TransitionState = Trans_READY_DAMAGED_NIGHT Trans_ATTACKING_DAMAGED_NIGHT
3544        Model         = UBScudStrm_DA1N
3545        Animation     = UBScudStrm_DA1N.UBScudStrm_DA1N
3546        AnimationMode = ONCE
3547        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3548        WeaponLaunchBone = PRIMARY WeaponA
3549  
3550        ParticleSysBone      = SteamM01 SteamLarge
3551        ParticleSysBone      = SteamS01 SteamMedium
3552  
3553        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3554        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3555        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3556      End
3557  
3558      ConditionState = ATTACKING DAMAGED NIGHT
3559        Model         = UBScudStrm_DA2N
3560        Animation     = UBScudStrm_DA2N.UBScudStrm_DA2N
3561        AnimationMode = MANUAL
3562        Flags         = START_FRAME_FIRST
3563        WeaponLaunchBone = PRIMARY WeaponA
3564        TransitionKey = Trans_ATTACKING_DAMAGED_NIGHT
3565  
3566        ParticleSysBone      = SteamM01 SteamLarge
3567        ParticleSysBone      = SteamS01 SteamMedium
3568  
3569        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3570        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3571        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3572      End
3573      AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED
3574      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED
3575  
3576      TransitionState = Trans_ATTACKING_DAMAGED_NIGHT Trans_READY_DAMAGED_NIGHT
3577        Model         = UBScudStrm_DA3N
3578        Animation     = UBScudStrm_DA3N.UBScudStrm_DA3N
3579        AnimationMode = ONCE
3580        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3581  
3582        ParticleSysBone      = SteamM01 SteamVent
3583        ParticleSysBone      = SteamS01 SteamVent
3584      End
3585         
3586      ;-------------------------------------------------------------------------------------------------------------------------
3587      
3588      ConditionState = REALLYDAMAGED RUBBLE NIGHT
3589        Model         = UBScudStrm_EA1N
3590        Animation     = UBScudStrm_EA1N.UBScudStrm_EA1N
3591        AnimationMode = MANUAL
3592        Flags         = START_FRAME_FIRST
3593        WeaponLaunchBone = PRIMARY WeaponA
3594        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3595        TransitionKey = Trans_READY_REALLYDAMAGED_NIGHT
3596  
3597        ParticleSysBone      = SteamM01 SteamLarge
3598        ParticleSysBone      = SteamS01 SteamMedium
3599      End
3600  
3601      TransitionState = Trans_READY_REALLYDAMAGED_NIGHT Trans_ATTACKING_REALLYDAMAGED_NIGHT
3602        Model         = UBScudStrm_EA1N
3603        Animation     = UBScudStrm_EA1N.UBScudStrm_EA1N
3604        AnimationMode = ONCE
3605        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3606        WeaponLaunchBone = PRIMARY WeaponA
3607  
3608        ParticleSysBone      = SteamM01 SteamLarge
3609        ParticleSysBone      = SteamS01 SteamMedium
3610  
3611        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3612        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3613        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3614      End
3615  
3616  
3617      ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT
3618        Model         = UBScudStrm_EA2N
3619        Animation     = UBScudStrm_EA2N.UBScudStrm_EA2N
3620        AnimationMode = MANUAL
3621        Flags         = START_FRAME_FIRST
3622        WeaponLaunchBone = PRIMARY WeaponA
3623        TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHT
3624  
3625        ParticleSysBone      = SteamM01 SteamLarge
3626        ParticleSysBone      = SteamS01 SteamMedium
3627  
3628        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3629        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3630        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3631      End
3632      AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE
3633      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE
3634  
3635      TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHT Trans_READY_REALLYDAMAGED_NIGHT
3636        Model         = UBScudStrm_EA3N
3637        Animation     = UBScudStrm_EA3N.UBScudStrm_EA3N
3638        AnimationMode = ONCE
3639        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3640  
3641        ParticleSysBone      = SteamM01 SteamVent
3642        ParticleSysBone      = SteamS01 SteamVent
3643      End
3644      
3645          ;-------------------------------------------------------------------------------------------------------------------------
3646          ; NIGHT SNOW
3647      ConditionState = NIGHT SNOW ; from underground to lying around
3648        Model         = UBScudStrm_A1NS
3649        Animation     = UBScudStrm_A1NS.UBScudStrm_A1NS
3650        AnimationMode = MANUAL
3651        Flags         = START_FRAME_FIRST
3652        WeaponLaunchBone = PRIMARY WeaponA
3653        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3654        TransitionKey = Trans_READY_NIGHTSNOW
3655  
3656        ParticleSysBone      = SteamM01 SteamLarge
3657        ParticleSysBone      = SteamS01 SteamMedium
3658      End
3659  
3660      TransitionState = Trans_READY_NIGHTSNOW Trans_ATTACKING_NIGHTSNOW
3661        Model         = UBScudStrm_A1NS
3662        Animation     = UBScudStrm_A1NS.UBScudStrm_A1NS
3663        AnimationMode = ONCE
3664        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3665        WeaponLaunchBone = PRIMARY WeaponA
3666  
3667        ParticleSysBone      = SteamM01 SteamLarge
3668        ParticleSysBone      = SteamS01 SteamMedium
3669  
3670        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3671        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3672        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3673      End
3674  
3675      ConditionState = ATTACKING NIGHT SNOW ; Projectile feedback code selectively hiding missiles as they shoot
3676        Model         = UBScudStrm_A2NS
3677        Animation     = UBScudStrm_A2NS.UBScudStrm_A2NS
3678        AnimationMode = MANUAL
3679        Flags         = START_FRAME_FIRST
3680        WeaponLaunchBone = PRIMARY WeaponA
3681        TransitionKey = Trans_ATTACKING_NIGHTSNOW
3682  
3683        ParticleSysBone      = SteamM01 SteamLarge
3684        ParticleSysBone      = SteamS01 SteamMedium
3685  
3686        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3687        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3688        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3689      End
3690      AliasConditionState = ATTACKING FIRING_A NIGHT SNOW
3691      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT SNOW
3692  
3693      TransitionState = Trans_ATTACKING_NIGHTSNOW Trans_READY_NIGHTSNOW ; empty arms going underground
3694        Model         = UBScudStrm_A3NS
3695        Animation     = UBScudStrm_A3NS.UBScudStrm_A3NS
3696        AnimationMode = ONCE
3697        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3698  
3699        ParticleSysBone      = SteamM01 SteamVent
3700        ParticleSysBone      = SteamS01 SteamVent
3701      End
3702  
3703      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
3704        Model              = UBScudStrm
3705        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3706      End
3707      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
3708        Model              = UBScudStrm_D
3709        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3710      End
3711      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
3712        Model              = UBScudStrm_E
3713        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3714      End
3715  
3716      ;-------------------------------------------------------------------------------------------------------------------------
3717      ConditionState = DAMAGED NIGHT SNOW
3718        Model         = UBScudStrm_DA1N
3719        Animation     = UBScudStrm_DA1N.UBScudStrm_DA1N
3720        AnimationMode = MANUAL
3721        Flags         = START_FRAME_FIRST
3722        WeaponLaunchBone = PRIMARY WeaponA
3723        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3724        TransitionKey = Trans_READY_DAMAGED_NIGHTSNOW
3725  
3726        ParticleSysBone      = SteamM01 SteamLarge
3727        ParticleSysBone      = SteamS01 SteamMedium
3728      End
3729  
3730      TransitionState = Trans_READY_DAMAGED_NIGHTSNOW Trans_ATTACKING_DAMAGED_NIGHTSNOW
3731        Model         = UBScudStrm_DA1N
3732        Animation     = UBScudStrm_DA1N.UBScudStrm_DA1N
3733        AnimationMode = ONCE
3734        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3735        WeaponLaunchBone = PRIMARY WeaponA
3736  
3737        ParticleSysBone      = SteamM01 SteamLarge
3738        ParticleSysBone      = SteamS01 SteamMedium
3739  
3740        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3741        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3742        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3743      End
3744  
3745      ConditionState = ATTACKING DAMAGED NIGHT SNOW
3746        Model         = UBScudStrm_DA2N
3747        Animation     = UBScudStrm_DA2N.UBScudStrm_DA2N
3748        AnimationMode = MANUAL
3749        Flags         = START_FRAME_FIRST
3750        WeaponLaunchBone = PRIMARY WeaponA
3751        TransitionKey = Trans_ATTACKING_DAMAGED_NIGHTSNOW
3752  
3753        ParticleSysBone      = SteamM01 SteamLarge
3754        ParticleSysBone      = SteamS01 SteamMedium
3755  
3756        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3757        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3758        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3759      End
3760      AliasConditionState = ATTACKING FIRING_A NIGHT DAMAGED SNOW
3761      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT DAMAGED SNOW
3762  
3763      TransitionState = Trans_ATTACKING_DAMAGED_NIGHTSNOW Trans_READY_DAMAGED_NIGHTSNOW
3764        Model         = UBScudStrm_DA3N
3765        Animation     = UBScudStrm_DA3N.UBScudStrm_DA3N
3766        AnimationMode = ONCE
3767        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3768  
3769        ParticleSysBone      = SteamM01 SteamVent
3770        ParticleSysBone      = SteamS01 SteamVent
3771      End
3772         
3773      ;-------------------------------------------------------------------------------------------------------------------------
3774      
3775      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
3776        Model         = UBScudStrm_EA1N
3777        Animation     = UBScudStrm_EA1N.UBScudStrm_EA1N
3778        AnimationMode = MANUAL
3779        Flags         = START_FRAME_FIRST
3780        WeaponLaunchBone = PRIMARY WeaponA
3781        ShowSubObject = WeaponA01 WeaponA02 WeaponA03 WeaponA04 WeaponA05 WeaponA06 WeaponA07 WeaponA08 WeaponA09 
3782        TransitionKey = Trans_READY_REALLYDAMAGED_NIGHTSNOW
3783  
3784        ParticleSysBone      = SteamM01 SteamLarge
3785        ParticleSysBone      = SteamS01 SteamMedium
3786      End
3787  
3788      TransitionState = Trans_READY_REALLYDAMAGED_NIGHTSNOW Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW
3789        Model         = UBScudStrm_EA1N
3790        Animation     = UBScudStrm_EA1N.UBScudStrm_EA1N
3791        AnimationMode = ONCE
3792        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3793        WeaponLaunchBone = PRIMARY WeaponA
3794  
3795        ParticleSysBone      = SteamM01 SteamLarge
3796        ParticleSysBone      = SteamS01 SteamMedium
3797  
3798        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3799        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3800        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3801      End
3802  
3803  
3804      ConditionState = ATTACKING REALLYDAMAGED RUBBLE NIGHT SNOW
3805        Model         = UBScudStrm_EA2N
3806        Animation     = UBScudStrm_EA2N.UBScudStrm_EA2N
3807        AnimationMode = MANUAL
3808        Flags         = START_FRAME_FIRST
3809        WeaponLaunchBone = PRIMARY WeaponA
3810        TransitionKey = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW
3811  
3812        ParticleSysBone      = SteamM01 SteamLarge
3813        ParticleSysBone      = SteamS01 SteamMedium
3814  
3815        ParticleSysBone      = FXBone01 ScudStormBuildingGoo
3816        ParticleSysBone      = FXBone02 ScudStormBuildingGoo
3817        ParticleSysBone      = FXBone03 ScudStormBuildingGoo
3818      End
3819      AliasConditionState = ATTACKING FIRING_A NIGHT REALLYDAMAGED RUBBLE SNOW
3820      AliasConditionState = ATTACKING BETWEEN_FIRING_SHOTS_A NIGHT REALLYDAMAGED RUBBLE SNOW
3821  
3822      TransitionState = Trans_ATTACKING_REALLYDAMAGED_NIGHTSNOW Trans_READY_REALLYDAMAGED_NIGHTSNOW
3823        Model         = UBScudStrm_EA3N
3824        Animation     = UBScudStrm_EA3N.UBScudStrm_EA3N
3825        AnimationMode = ONCE
3826        Flags         = MAINTAIN_FRAME_ACROSS_STATES2
3827  
3828        ParticleSysBone      = SteamM01 SteamVent
3829        ParticleSysBone      = SteamS01 SteamVent
3830      End
3831      
3832      
3833      ConditionState       = SOLD
3834        Model              = NONE
3835      End    
3836      AliasConditionState       = SOLD DAMAGED
3837      AliasConditionState       = SOLD REALLYDAMAGED
3838      AliasConditionState       = SOLD SNOW
3839      AliasConditionState       = SOLD DAMAGED SNOW
3840      AliasConditionState       = SOLD REALLYDAMAGED SNOW
3841      AliasConditionState       = SOLD NIGHT
3842      AliasConditionState       = SOLD DAMAGED NIGHT
3843      AliasConditionState       = SOLD REALLYDAMAGED NIGHT
3844      AliasConditionState       = SOLD NIGHT SNOW
3845      AliasConditionState       = SOLD DAMAGED NIGHT SNOW
3846      AliasConditionState       = SOLD REALLYDAMAGED NIGHT SNOW
3847    End
3848  
3849      ;-------------------------------------------------------------------------------------------------------------------------
3850      ;-------------------------------------------------------------------------------------------------------------------------
3851      ;-------------------------------------------------------------------------------------------------------------------------
3852    Draw = W3DModelDraw ModuleTag_02
3853      OkToChangeModelColor = Yes
3854    
3855      ConditionState = None
3856        Model         = UBScudStrm_A5
3857        Animation     = UBScudStrm_A5.UBScudStrm_A5
3858        AnimationMode = MANUAL
3859        Flags         = START_FRAME_FIRST
3860      End
3861  
3862      ConditionState       = SOLD
3863        Model              = NONE
3864      End    
3865      ConditionState       = SOLD SNOW
3866         Model             = NONE
3867      End   
3868      ConditionState       = SOLD NIGHT
3869         Model             = NONE
3870      End    
3871      ConditionState       = SOLD NIGHT SNOW
3872         Model             = NONE
3873      End  
3874    
3875      ConditionState = PREATTACK_A ATTACKING
3876        Model         = UBScudStrm_A5
3877        Animation     = UBScudStrm_A5.UBScudStrm_A5
3878        AnimationMode = LOOP
3879        Flags         = START_FRAME_FIRST
3880      End
3881  
3882      ConditionState = ATTACKING
3883        Model         = UBScudStrm_A5
3884        Animation     = UBScudStrm_A5.UBScudStrm_A5
3885        AnimationMode = LOOP
3886        Flags         = START_FRAME_FIRST
3887      End
3888      
3889      ;These assets are missing (KM: removed to get rid of assert)
3890      ;ConditionState =  DAMAGED
3891      ;  Model         = UBScudStrm_DA5
3892      ;  Animation     = UBScudStrm_DA5.UBScudStrm_DA5
3893      ;  AnimationMode = MANUAL
3894      ;  Flags         = START_FRAME_FIRST
3895      ;End
3896  
3897      ;These assets are missing (KM: removed to get rid of assert)
3898      ;ConditionState = PREATTACK_A ATTACKING DAMAGED
3899      ;  Model         = UBScudStrm_DA5
3900      ;  Animation     = UBScudStrm_DA5.UBScudStrm_DA5
3901      ;  AnimationMode = LOOP
3902      ;  Flags         = START_FRAME_FIRST
3903      ;End
3904  
3905      ;These assets are missing (KM: removed to get rid of assert)
3906      ;ConditionState = ATTACKING DAMAGED
3907      ;  Model         = UBScudStrm_DA5
3908      ;  Animation     = UBScudStrm_DA5.UBScudStrm_DA5
3909      ;  AnimationMode = LOOP
3910      ;  Flags         = START_FRAME_FIRST
3911      ;End
3912      
3913      ;These assets are missing (KM: removed to get rid of assert)
3914      ;ConditionState =  REALLYDAMAGED
3915      ;  Model         = UBScudStrm_EA5
3916      ;  Animation     = UBScudStrm_EA5.UBScudStrm_EA5
3917      ;  AnimationMode = MANUAL
3918      ;  Flags         = START_FRAME_FIRST
3919      ;End
3920  
3921      ;These assets are missing (KM: removed to get rid of assert)
3922      ;ConditionState = PREATTACK_A ATTACKING REALLYDAMAGED
3923      ;  Model         = UBScudStrm_EA5
3924      ;  Animation     = UBScudStrm_EA5.UBScudStrm_EA5
3925      ;  AnimationMode = LOOP
3926      ;  Flags         = START_FRAME_FIRST
3927      ;End
3928  
3929      ;These assets are missing (KM: removed to get rid of assert)
3930      ;ConditionState = ATTACKING REALLYDAMAGED
3931      ;  Model         = UBScudStrm_EA5
3932      ;  Animation     = UBScudStrm_EA5.UBScudStrm_EA5
3933      ;  AnimationMode = LOOP
3934      ;  Flags         = START_FRAME_FIRST
3935      ;End
3936      
3937    End
3938  
3939    Draw = W3DModelDraw ModuleTag_03
3940      OkToChangeModelColor = Yes
3941    
3942      ConditionState = None
3943        Model         = UBScudStrm_A6
3944        Animation     = UBScudStrm_A6.UBScudStrm_A6
3945        AnimationMode = LOOP
3946        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3947      End
3948      
3949      ConditionState =  DAMAGED
3950        Model         = UBScudStrm_DA6
3951        Animation     = UBScudStrm_DA6.UBScudStrm_DA6
3952        AnimationMode = LOOP
3953        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3954      End
3955      
3956      ConditionState =  REALLYDAMAGED RUBBLE
3957        Model         = UBScudStrm_EA6
3958        Animation     = UBScudStrm_EA6.UBScudStrm_EA6
3959        AnimationMode = LOOP
3960        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3961      End
3962      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
3963        Model              = UBScudStrm_A6
3964        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3965      End
3966      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
3967  
3968        Model              = UBScudStrm_DA6
3969        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3970      End
3971      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED RUBBLE
3972        Model              = UBScudStrm_EA6
3973        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
3974      End
3975  
3976      ConditionState       = SOLD
3977        Model              = NONE
3978      End    
3979      ConditionState       = SOLD SNOW
3980         Model             = NONE
3981      End   
3982      ConditionState       = SOLD NIGHT
3983         Model             = NONE
3984      End    
3985      ConditionState       = SOLD NIGHT SNOW
3986         Model             = NONE
3987      End  
3988      
3989    End
3990  
3991    Draw = W3DModelDraw ModuleTag_04
3992      OkToChangeModelColor = Yes
3993    
3994      ConditionState = None
3995        Model         = UBScudStrm_F
3996        Animation     = UBScudStrm_F.UBScudStrm_F
3997        AnimationMode = LOOP
3998        Flags         = MAINTAIN_FRAME_ACROSS_STATES
3999      End
4000      
4001      ConditionState =  DAMAGED
4002        Model         = UBScudStrm_DF
4003        Animation     = UBScudStrm_DF.UBScudStrm_DF
4004        AnimationMode = LOOP
4005        Flags         = MAINTAIN_FRAME_ACROSS_STATES
4006      End
4007      
4008      ConditionState =  REALLYDAMAGED RUBBLE
4009        Model         = UBScudStrm_EF
4010        Animation     = UBScudStrm_EF.UBScudStrm_EF
4011        AnimationMode = LOOP
4012        Flags         = MAINTAIN_FRAME_ACROSS_STATES
4013      End
4014      
4015      ConditionState       = SOLD
4016        Model              = NONE
4017      End    
4018      AliasConditionState       = SOLD DAMAGED
4019      AliasConditionState       = SOLD REALLYDAMAGED
4020      AliasConditionState       = SOLD SNOW
4021      AliasConditionState       = SOLD DAMAGED SNOW
4022      AliasConditionState       = SOLD REALLYDAMAGED SNOW
4023      AliasConditionState       = SOLD NIGHT
4024      AliasConditionState       = SOLD DAMAGED NIGHT
4025      AliasConditionState       = SOLD REALLYDAMAGED NIGHT
4026      AliasConditionState       = SOLD NIGHT SNOW
4027      AliasConditionState       = SOLD DAMAGED NIGHT SNOW
4028      AliasConditionState       = SOLD REALLYDAMAGED NIGHT SNOW
4029    End
4030     
4031    ; ------------ construction-zone fence -----------------
4032    Draw = W3DModelDraw ModuleTag_05
4033    AnimationsRequirePower = No
4034      DefaultConditionState
4035        Model           = None
4036        TransitionKey   = DOWN_DEFAULT
4037      End
4038      ConditionState    = NIGHT
4039        Model           = None
4040        TransitionKey   = DOWN_DEFAULT
4041      End
4042      ConditionState    = SNOW
4043        Model           = None
4044        TransitionKey   = DOWN_DEFAULT
4045      End
4046      ConditionState    = SNOW NIGHT
4047        Model           = None
4048        TransitionKey   = DOWN_DEFAULT
4049      End
4050      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4051        Model           = UBScudStrm_AB
4052        Animation       = UBScudStrm_AB.UBScudStrm_AB
4053        AnimationMode   = MANUAL
4054        Flags           = START_FRAME_LAST
4055        TransitionKey   = UP_DAY
4056      End
4057      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4058        Model           = UBScudStrm_ABN
4059        Animation       = UBScudStrm_ABN.UBScudStrm_ABN
4060        AnimationMode   = MANUAL
4061        Flags           = START_FRAME_LAST
4062        TransitionKey   = UP_NIGHT
4063      End
4064      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4065        Model           = UBScudStrm_ABS
4066        Animation       = UBScudStrm_ABS.UBScudStrm_ABS
4067        AnimationMode   = MANUAL
4068        Flags           = START_FRAME_LAST
4069        TransitionKey   = UP_SNOW
4070      End
4071      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4072        Model           = UBScudStrm_ABSN
4073        Animation       = UBScudStrm_ABSN.UBScudStrm_ABSN
4074        AnimationMode   = MANUAL
4075        Flags           = START_FRAME_LAST
4076        TransitionKey   = UP_SNOWNIGHT
4077      End
4078      TransitionState   = DOWN_DEFAULT UP_DAY
4079        Model           = UBScudStrm_AB
4080        Animation       = UBScudStrm_AB.UBScudStrm_AB
4081        AnimationMode   = ONCE
4082        AnimationSpeedFactorRange = 1.0 1.0
4083        Flags           = START_FRAME_FIRST
4084      End
4085      TransitionState   = DOWN_DEFAULT UP_NIGHT
4086        Model           = UBScudStrm_ABN
4087        Animation       = UBScudStrm_ABN.UBScudStrm_ABN
4088        AnimationMode   = ONCE
4089        AnimationSpeedFactorRange = 1.0 1.0
4090        Flags           = START_FRAME_FIRST
4091      End
4092      TransitionState   = DOWN_DEFAULT UP_SNOW
4093        Model           = UBScudStrm_ABS
4094        Animation       = UBScudStrm_ABS.UBScudStrm_ABS
4095        AnimationMode   = ONCE
4096        AnimationSpeedFactorRange = 1.0 1.0
4097        Flags           = START_FRAME_FIRST
4098      End
4099      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
4100        Model           = UBScudStrm_ABSN
4101        Animation       = UBScudStrm_ABSN.UBScudStrm_ABSN
4102        AnimationMode   = ONCE
4103        AnimationSpeedFactorRange = 1.0 1.0
4104        Flags           = START_FRAME_FIRST
4105      End
4106      TransitionState   = UP_DAY DOWN_DEFAULT
4107        Model           = UBScudStrm_AB
4108        Animation       = UBScudStrm_AB.UBScudStrm_AB
4109        AnimationMode   = ONCE_BACKWARDS
4110        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4111        Flags           = START_FRAME_LAST
4112      End
4113      TransitionState   = UP_NIGHT DOWN_DEFAULT
4114        Model           = UBScudStrm_ABN
4115        Animation       = UBScudStrm_ABN.UBScudStrm_ABN
4116        AnimationMode   = ONCE_BACKWARDS
4117        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4118        Flags           = START_FRAME_LAST
4119      End
4120      TransitionState   = UP_SNOW DOWN_DEFAULT
4121        Model           = UBScudStrm_ABS
4122        Animation       = UBScudStrm_ABS.UBScudStrm_ABS
4123        AnimationMode   = ONCE_BACKWARDS
4124        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4125        Flags           = START_FRAME_LAST
4126      End
4127      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
4128        Model           = UBScudStrm_ABSN
4129        Animation       = UBScudStrm_ABSN.UBScudStrm_ABSN
4130        AnimationMode   = ONCE_BACKWARDS
4131        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4132        Flags           = START_FRAME_LAST
4133      End
4134    End
4135  
4136    ; ------------ under-construction scaffolding -----------------
4137    Draw = W3DModelDraw ModuleTag_06
4138    AnimationsRequirePower = No
4139      MinLODRequired = MEDIUM
4140      DefaultConditionState
4141        Model           = None
4142        TransitionKey   = DOWN_DEFAULT
4143      End
4144      ConditionState    = NIGHT
4145        Model           = None
4146        TransitionKey   = DOWN_DEFAULT
4147      End
4148      ConditionState    = SNOW
4149        Model           = None
4150        TransitionKey   = DOWN_DEFAULT
4151      End
4152      ConditionState    = SNOW NIGHT
4153        Model           = None
4154        TransitionKey   = DOWN_DEFAULT
4155      End
4156      ConditionState    = PARTIALLY_CONSTRUCTED
4157        Model           = UBScudStrm_AC
4158        Animation       = UBScudStrm_AC.UBScudStrm_AC
4159        AnimationMode   = MANUAL
4160        Flags           = START_FRAME_LAST
4161        TransitionKey   = UP_DAY
4162        ParticleSysBone = Dust01 BuildingDust
4163        ParticleSysBone = Smoke01 BuildUpSmoke
4164        ParticleSysBone = Smoke02 BuildUpSmoke
4165        ParticleSysBone = Smoke03 BuildUpSmoke
4166        ParticleSysBone = Smoke04 BuildUpSmoke
4167      End
4168      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
4169        Model           = UBScudStrm_ACN
4170        Animation       = UBScudStrm_ACN.UBScudStrm_ACN
4171        AnimationMode   = MANUAL
4172        Flags           = START_FRAME_LAST
4173        TransitionKey   = UP_NIGHT
4174        ParticleSysBone = Dust01 BuildingDust
4175        ParticleSysBone = Smoke01 BuildUpSmoke
4176        ParticleSysBone = Smoke02 BuildUpSmoke
4177        ParticleSysBone = Smoke03 BuildUpSmoke
4178        ParticleSysBone = Smoke04 BuildUpSmoke
4179      End    
4180      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
4181        Model           = UBScudStrm_ACS
4182        Animation       = UBScudStrm_ACS.UBScudStrm_ACS
4183        AnimationMode   = MANUAL
4184        Flags           = START_FRAME_LAST
4185        TransitionKey   = UP_SNOW
4186        ParticleSysBone = Dust01 BuildingSnowDust
4187        ParticleSysBone = Smoke01 BuildUpSnowSmoke
4188        ParticleSysBone = Smoke02 BuildUpSnowSmoke
4189        ParticleSysBone = Smoke03 BuildUpSnowSmoke
4190        ParticleSysBone = Smoke04 BuildUpSnowSmoke
4191      End   
4192      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
4193        Model           = UBScudStrm_ACSN
4194        Animation       = UBScudStrm_ACSN.UBScudStrm_ACSN
4195        AnimationMode   = MANUAL
4196        Flags           = START_FRAME_LAST
4197        TransitionKey   = UP_SNOWNIGHT
4198        ParticleSysBone = Dust01 BuildingNightSnowDust
4199        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
4200        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
4201        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
4202        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
4203      End 
4204      TransitionState   = DOWN_DEFAULT UP_DAY
4205       Model            = UBScudStrm_AC
4206        Animation       = UBScudStrm_AC.UBScudStrm_AC
4207        AnimationMode   = ONCE
4208        AnimationSpeedFactorRange = 1.0 1.0
4209        Flags           = START_FRAME_FIRST
4210      End
4211      TransitionState   = DOWN_DEFAULT UP_NIGHT
4212       Model            = UBScudStrm_ACN
4213        Animation       = UBScudStrm_ACN.UBScudStrm_ACN
4214        AnimationMode   = ONCE
4215        AnimationSpeedFactorRange = 1.0 1.0
4216        Flags           = START_FRAME_FIRST
4217      End
4218      TransitionState   = DOWN_DEFAULT UP_SNOW
4219       Model            = UBScudStrm_ACS
4220        Animation       = UBScudStrm_ACS.UBScudStrm_ACS
4221        AnimationMode   = ONCE
4222        AnimationSpeedFactorRange = 1.0 1.0
4223        Flags           = START_FRAME_FIRST
4224      End
4225      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
4226       Model            = UBScudStrm_ACSN
4227        Animation       = UBScudStrm_ACSN.UBScudStrm_ACSN
4228        AnimationMode   = ONCE
4229        AnimationSpeedFactorRange = 1.0 1.0
4230        Flags           = START_FRAME_FIRST
4231      End
4232      TransitionState   = UP_DAY DOWN_DEFAULT
4233        Model           = UBScudStrm_AC
4234        Animation       = UBScudStrm_AC.UBScudStrm_AC
4235        AnimationMode   = ONCE_BACKWARDS
4236        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4237        Flags           = START_FRAME_LAST
4238      End
4239      TransitionState   = UP_NIGHT DOWN_DEFAULT
4240        Model           = UBScudStrm_ACN
4241        Animation       = UBScudStrm_ACN.UBScudStrm_ACN
4242        AnimationMode   = ONCE_BACKWARDS
4243        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4244        Flags           = START_FRAME_LAST
4245      End
4246      TransitionState   = UP_SNOW DOWN_DEFAULT
4247        Model           = UBScudStrm_ACS
4248        Animation       = UBScudStrm_ACS.UBScudStrm_ACS
4249        AnimationMode   = ONCE_BACKWARDS
4250        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4251        Flags           = START_FRAME_LAST
4252      End
4253      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
4254        Model           = UBScudStrm_ACSN
4255        Animation       = UBScudStrm_ACSN.UBScudStrm_ACSN
4256        AnimationMode   = ONCE_BACKWARDS
4257        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4258        Flags           = START_FRAME_LAST
4259      End
4260    End
4261  
4262    PlacementViewAngle = -45
4263  
4264    ; ***DESIGN parameters ***
4265    DisplayName      = OBJECT:ScudStorm
4266    Side = GLAToxinGeneral
4267    EditorSorting    = STRUCTURE
4268    Prerequisites
4269      Object = Chem_GLAPalace
4270    End
4271    BuildCost        = 5000
4272    BuildTime        = 60.0           ; in seconds
4273    EnergyProduction = 0
4274    CommandSet       = Chem_GLAScudStormCommandSet
4275    VisionRange     = 200.0           ; Shroud clearing distance
4276    ShroudClearingRange = 200
4277    ShroudRevealToAllRange = 60  ; Reveals shroud to all players at a specific amount which can be different. 
4278                                 ; Using same value? Then use KINDOF_REVEAL_TO_ALL instead!
4279    WeaponSet
4280      Conditions = None 
4281      Weapon = PRIMARY Chem_ScudStormWeapon
4282      AutoChooseSources = PRIMARY NONE
4283    End
4284    ArmorSet
4285      Conditions      = None
4286      Armor           = StructureArmorTough
4287      DamageFX        = StructureDamageFXNoShake
4288    End
4289    ExperienceValue     = 400 400 400 400  ; Experience point value at each level
4290    MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games
4291    MaxSimultaneousLinkKey = Superweapon  ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType
4292  
4293    ; *** AUDIO Parameters ***
4294    VoiceSelect = ScudStormSelect
4295    SoundOnDamaged        = BuildingDamagedStateLight
4296    SoundOnReallyDamaged  = BuildingDestroy
4297  
4298    UnitSpecificSounds
4299      UnderConstruction     = UnderConstructionLoop
4300    End
4301  
4302    UnitSpecificSounds
4303    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
4304      TurretMoveStart = NoSound
4305      TurretMoveLoop = NoSound ;These aren't playing properly, will revisit (mp) TurretMoveLoopLoud
4306    End
4307  
4308    ; *** ENGINEERING Parameters ***
4309    RadarPriority   = STRUCTURE
4310    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE FS_TECHNOLOGY MP_COUNT_FOR_VICTORY SCORE_CREATE FS_SUPERWEAPON
4311    Body            = StructureBody ModuleTag_07
4312      MaxHealth       = 4000.0
4313      InitialHealth   = 4000.0
4314  
4315      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
4316      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
4317      SubdualDamageCap = 4200
4318      SubdualDamageHealRate = 500
4319      SubdualDamageHealAmount = 100
4320    End
4321    Behavior        = RebuildHoleExposeDie ModuleTag_08
4322      HoleName      = GLAHoleScudStorm
4323      HoleMaxHealth = 500.0
4324    End 
4325  
4326    Behavior = AIUpdateInterface ModuleTag_09
4327    End
4328  
4329    Behavior    = OCLSpecialPower ModuleTag_10
4330      SpecialPowerTemplate = SuperweaponScudStorm
4331      OCL                  = SUPERWEAPON_ScudStorm
4332    End
4333    Behavior = SpecialPowerCreate ModuleTag_11
4334      ;nothing
4335    End
4336  
4337    Behavior = DestroyDie ModuleTag_12
4338      ;nothing
4339    End
4340    Behavior        = CreateObjectDie ModuleTag_13
4341      CreationList  = OCL_PoisonFieldMedium
4342      ExemptStatus  = UNDER_CONSTRUCTION
4343    End
4344    Behavior        = FXListDie ModuleTag_14
4345      DeathFX       = WeaponFX_BombTruckHighExplosiveBioBombDetonation
4346      ExemptStatus  = UNDER_CONSTRUCTION
4347    End
4348  
4349    Behavior = FlammableUpdate ModuleTag_16
4350      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
4351      AflameDamageAmount = 5       ; taking this much damage...
4352      AflameDamageDelay = 500       ; this often.
4353    End
4354  
4355    Behavior = RadiusDecalUpdate ModuleTag_17
4356      ; nothing
4357    End
4358  
4359    Behavior = TransitionDamageFX ModuleTag_18
4360      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
4361      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
4362      ;---------------------------------------------------------------------------------------
4363      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
4364      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
4365      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
4366    End
4367  
4368    Behavior        = FXListDie ModuleTag_19
4369      DeathFX       = FX_BuildingDie
4370    End
4371  
4372    Geometry            = BOX
4373    GeometryMajorRadius = 71.0
4374    GeometryMinorRadius = 67.0
4375    GeometryHeight      = 25.0
4376    GeometryIsSmall     = No
4377    Shadow          = SHADOW_VOLUME
4378    BuildCompletion = PLACED_BY_PLAYER
4379  
4380  End
4381  
4382  
4383  
4384  ;------------------------------------------------------------------------------
4385  ;GLA Chem Trap
4386  
4387  Object Chem_GLADemoTrap
4388  
4389    ; *** ART Parameters ***
4390    SelectPortrait         = SSHideBomb
4391    ButtonImage            = SSHideBomb
4392    Draw = W3DModelDraw ModuleTag_01
4393      OkToChangeModelColor = Yes
4394      DefaultConditionState
4395        Model         = EXHideBomb
4396      End
4397      AliasConditionState = DAMAGED
4398      AliasConditionState = REALLYDAMAGED
4399      AliasConditionState = RUBBLE
4400      AliasConditionState = NIGHT
4401      AliasConditionState = SNOW
4402      AliasConditionState = NIGHT SNOW
4403      AliasConditionState = NIGHT DAMAGED
4404      AliasConditionState = SNOW DAMAGED
4405      AliasConditionState = NIGHT SNOW DAMAGED
4406      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
4407      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
4408      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
4409      
4410      ;**************************************************************************************************************************
4411      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
4412      ;for this draw module
4413      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4414        Model              = EXHideBomb
4415        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4416      End
4417      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
4418      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
4419      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
4420      
4421      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
4422        Model              = EXHideBomb
4423        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4424      End
4425      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
4426      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
4427      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
4428      
4429      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
4430        Model              = EXHideBomb
4431        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4432      End
4433      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
4434      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
4435      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
4436      
4437      ConditionState       = AWAITING_CONSTRUCTION 
4438        Model              = NONE
4439      End
4440      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
4441      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
4442      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
4443      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
4444      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
4445      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
4446      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
4447      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
4448      AliasConditionState  = SOLD DAMAGED
4449      AliasConditionState  = SOLD REALLYDAMAGED
4450      AliasConditionState  = SOLD NIGHT
4451      AliasConditionState  = SOLD NIGHT DAMAGED
4452      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
4453      AliasConditionState  = SOLD NIGHT SNOW
4454      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
4455      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
4456      ;**************************************************************************************************************************
4457      
4458      
4459    End
4460    PlacementViewAngle = -45
4461  
4462    ; ***DESIGN parameters ***
4463    DisplayName      = OBJECT:DemoTrap
4464    Side             = GLAToxinGeneral
4465    EditorSorting    = STRUCTURE
4466    Prerequisites
4467      Object = Chem_GLAArmsDealer
4468    End
4469    BuildCost        = 600
4470    BuildTime        = 8.0           ; in seconds
4471    EnergyProduction = 0
4472    VisionRange     = 150.0           ; Shroud clearing distance
4473    ShroudClearingRange     = 150.0           ; Shroud clearing distance
4474    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
4475  
4476    WeaponSet
4477      ;The weapon set is used to determine detonation mode
4478      Conditions = None 
4479      Weapon = PRIMARY    DummyWeapon ;Used for mode matching only (when to detonate)
4480      Weapon = SECONDARY  DummyWeapon ;Used for mode matching only (when to detonate)
4481      Weapon = TERTIARY   DummyWeapon ;Used for mode matching only (when to detonate)
4482      AutoChooseSources = PRIMARY   NONE
4483      AutoChooseSources = SECONDARY NONE
4484      AutoChooseSources = TERTIARY  NONE
4485    End
4486    ArmorSet
4487      Conditions      = None
4488      Armor           = StructureArmor
4489      DamageFX        = DefaultDamageFX ; Too small for normal building FX, but if we do make dedicated one it should be silent
4490    End
4491  
4492    CommandSet = GLADemoTrapCommandSet
4493  
4494    ; *** AUDIO Parameters ***
4495    VoiceSelect = UndergroundGeneratorSelect
4496    SoundOnDamaged        = NoSound
4497    SoundOnReallyDamaged  = NoSound
4498  
4499    UnitSpecificSounds
4500      UnderConstruction     = UnderConstructionLoop
4501    End
4502  
4503    ; *** ENGINEERING Parameters ***
4504    RadarPriority   = STRUCTURE
4505    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE IMMUNE_TO_CAPTURE DEMOTRAP
4506    Body            = StructureBody ModuleTag_02
4507      MaxHealth       = 100.0   
4508      InitialHealth   = 100.0
4509    End
4510  
4511    Behavior = StealthUpdate ModuleTag_03
4512      StealthDelay = 0 ; msec
4513      StealthForbiddenConditions = NONE
4514      FriendlyOpacityMin = 100.0%
4515      OrderIdleEnemiesToAttackMeUponReveal  = Yes
4516    End
4517  
4518    Behavior = DemoTrapUpdate ModuleTag_04
4519      DefaultProximityMode      = Yes       ;If yes, defaults to proximity mode, otherwise defaults to manual.
4520      DetonationWeaponSlot      = PRIMARY   ;The slot the weapon is in when it detonates.
4521      ProximityModeWeaponSlot   = SECONDARY ;The slot proximity mode is determined by (bogus weapon)
4522      ManualModeWeaponSlot      = TERTIARY  ;The slot manual mode is determined by (bogus weapon)
4523      TriggerDetonationRange    = 40.0      ;Detonation range when in proximity mode (and must be on ground)
4524      IgnoreTargetTypes         = PROJECTILE UNATTACKABLE
4525      AutoDetonationWithFriendsInvolved = Yes ;GLA are low tech 
4526      DetonateWhenKilled        = Yes
4527    End
4528  
4529    Behavior = SlowDeathBehavior ModuleTag_05 
4530      ExemptStatus = UNDER_CONSTRUCTION
4531      DestructionDelay = 1000
4532      FX = INITIAL FX_GLADemoTrapWarning
4533  ;   Weapon = FINAL Chem_DemoTrapDetonationWeaponBeta
4534    End
4535  
4536    Behavior = FireWeaponWhenDeadBehavior ModuleTag_Chem01
4537      DeathWeapon   = Chem_DemoTrapDetonationWeaponBeta
4538      StartsActive  = Yes                     
4539      ConflictsWith = Chem_Upgrade_GLAAnthraxGamma      
4540    End
4541  
4542    Behavior = FireWeaponWhenDeadBehavior ModuleTag_Chem02
4543      DeathWeapon   = Chem_DemoTrapDetonationWeaponGamma
4544      StartsActive  = No                      ; turned on by upgrade
4545      TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma       
4546    End
4547  
4548    Behavior = FlammableUpdate ModuleTag_07
4549      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
4550      AflameDamageAmount = 5       ; taking this much damage...
4551      AflameDamageDelay = 500       ; this often.
4552    End
4553  
4554    Behavior = InstantDeathBehavior ModuleTag_08
4555      ; if we are under construction, use this death instead
4556      RequiredStatus = UNDER_CONSTRUCTION
4557      ; no effect
4558    End
4559  
4560    BuildCompletion = PLACED_BY_PLAYER
4561    
4562    Shadow          = SHADOW_VOLUME
4563    Geometry = CYLINDER
4564    GeometryMajorRadius = 4.0
4565    GeometryHeight = 9    
4566    GeometryIsSmall = Yes 
4567  
4568  End
4569  
4570  ;------------------------------------------------------------------------------
4571  ObjectReskin Chem_GLAHoleDemoTrap Chem_GLAHole
4572    Draw                     = W3DModelDraw ModuleTag_01
4573      OkToChangeModelColor   = Yes
4574      ConditionState         = NONE
4575        Model                = UBHole
4576      End
4577      ConditionState         = DAMAGED
4578        Model                = UBHole_D
4579        ParticleSysBone      = Smoke01 SteamVent
4580      End
4581      ConditionState         = REALLYDAMAGED
4582        Model                = UBHole_E
4583        ParticleSysBone      = Smoke01 SteamVent
4584        ParticleSysBone      = Smoke02 SteamVent
4585        ParticleSysBone      = Fire01 GLAPowerPlantFlame
4586        ParticleSysBone      = Fire02 GLAPowerPlantFlame
4587        ParticleSysBone      = Fire03 GLAPowerPlantFlame
4588      End
4589    End
4590  ;Remove comments for this section and replace the model entries for the
4591  ;pristine, and damage/reallydamaged rubble around the GLA hole below
4592  ;  Draw                     = W3DModelDraw
4593  ;    OkToChangeModelColor   = Yes
4594  ;    ConditionState         = NONE
4595  ;      Model                = UBSupply_R
4596  ;    End
4597  ;    ConditionState         = DAMAGED REALLYDAMAGED
4598  ;      Model                = UBSupply_R
4599  ;    End
4600  ;  End
4601  End
4602  
4603  
4604  
4605  
4606  
4607  
4608  
4609  
4610  
4611  ;------------------------------------------------------------------------------
4612  Object Chem_GLAStingerSite
4613  
4614    ; *** ART Parameters ***
4615    SelectPortrait         = SUStinger_L
4616    ButtonImage            = SUStinger
4617   
4618    UpgradeCameo1          = Upgrade_GLAAPRockets
4619    ;UpgradeCameo2          = Upgrade_GLACamoNetting
4620    ;UpgradeCameo3          = NONE
4621    ;UpgradeCameo4          = NONE
4622    ;UpgradeCameo5          = NONE
4623  
4624    Draw = W3DModelDraw ModuleTag_01
4625      OkToChangeModelColor = Yes
4626      
4627      ; day ************************************
4628      ConditionState = NONE
4629        Model = UBStingerS
4630      End
4631      
4632      ConditionState = DAMAGED
4633        Model = UBStingerS_D
4634      End
4635      
4636      ConditionState = REALLYDAMAGED RUBBLE
4637        Model = UBStingerS_E
4638      End
4639  
4640      ; day snow ************************************
4641      ConditionState = SNOW
4642        Model = UBStingerS_S
4643      End
4644      
4645      ConditionState = DAMAGED SNOW
4646        Model = UBStingerS_DS
4647      End
4648      
4649      ConditionState = REALLYDAMAGED SNOW RUBBLE
4650        Model = UBStingerS_ES
4651      End
4652      
4653      ; night  **********************************
4654      ConditionState       = NIGHT 
4655        Model              = UBStingerS_N
4656      End
4657      
4658      ConditionState       = DAMAGED NIGHT 
4659        Model              = UBStingerS_DN
4660      End
4661      
4662      ConditionState       = REALLYDAMAGED NIGHT  RUBBLE
4663        Model              = UBStingerS_EN
4664      End
4665         
4666      ; night snow **********************************
4667      ConditionState       = NIGHT SNOW
4668        Model              = UBStingerS_NS
4669      End
4670      
4671      ConditionState       = DAMAGED NIGHT SNOW
4672        Model              = UBStingerS_DNS
4673      End
4674      
4675      ConditionState       = REALLYDAMAGED NIGHT SNOW RUBBLE
4676        Model              = UBStingerS_ENS
4677      End
4678      
4679      
4680          ;**************************************************************************************************************************
4681      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
4682      ;for this draw module
4683      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4684        Model              = UBStingerS
4685       ; Animation          = UBStingerS.UBStingerS
4686       ; AnimationMode      = LOOP
4687        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4688      End
4689      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
4690        Model              = UBStingerS_D
4691       ; Animation          = UBStingerS_D.UBStingerS_D
4692       ; AnimationMode      = LOOP
4693        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4694      End
4695      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
4696        Model              = UBStingerS_E
4697       ; Animation          = UBStingerS_E.UBStingerS_E
4698       ; AnimationMode      = LOOP
4699        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4700      End
4701      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
4702        Model              = UBStingerS_N
4703       ; Animation          = UBStingerS_N.UBStingerS_N
4704       ; AnimationMode      = LOOP
4705        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4706      End
4707      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
4708        Model              = UBStingerS_DN
4709       ; Animation          = UBStingerS_DN.UBStingerS_DN
4710       ; AnimationMode      = LOOP
4711        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4712      End
4713      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
4714        Model              = UBStingerS_EN
4715       ; Animation          = UBStingerS_EN.UBStingerS_EN
4716       ; AnimationMode      = LOOP
4717        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4718      End
4719      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
4720        Model              = UBStingerS_S
4721       ; Animation          = UBStingerS_S.UBStingerS_S
4722       ; AnimationMode      = LOOP
4723        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4724      End
4725      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
4726        Model              = UBStingerS_DS
4727       ; Animation          = UBStingerS_DS.UBStingerS_DS
4728       ; AnimationMode      = LOOP
4729        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4730      End
4731      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
4732        Model              = UBStingerS_ES
4733       ; Animation          = UBStingerS_ES.UBStingerS_ES
4734       ; AnimationMode      = LOOP
4735        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4736      End
4737      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
4738        Model              = UBStingerS_NS
4739       ; Animation          = UBStingerS_NS.UBStingerS_NS
4740       ; AnimationMode      = LOOP
4741        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4742      End
4743      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
4744        Model              = UBStingerS_DNS
4745       ; Animation          = UBStingerS_DNS.UBStingerS_DNS
4746       ; AnimationMode      = LOOP
4747        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4748      End
4749      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
4750        Model              = UBStingerS_ENS
4751       ; Animation          = UBStingerS_ENS.UBStingerS_ENS
4752       ; AnimationMode      = LOOP
4753        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
4754      End
4755  
4756      ConditionState       = AWAITING_CONSTRUCTION 
4757        Model              = NONE
4758      End
4759      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
4760      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
4761      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
4762      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
4763      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
4764      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
4765      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
4766      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
4767      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
4768      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
4769      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
4770      AliasConditionState  = SOLD 
4771      AliasConditionState  = SOLD DAMAGED
4772      AliasConditionState  = SOLD REALLYDAMAGED
4773      AliasConditionState  = SOLD NIGHT
4774      AliasConditionState  = SOLD NIGHT DAMAGED
4775      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
4776      AliasConditionState  = SOLD SNOW
4777      AliasConditionState  = SOLD SNOW DAMAGED
4778      AliasConditionState  = SOLD SNOW REALLYDAMAGED
4779      AliasConditionState  = SOLD NIGHT SNOW
4780      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
4781      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
4782      ;**************************************************************************************************************************
4783  
4784    
4785    End
4786    ; ------------ construction-zone fence -----------------
4787    Draw = W3DModelDraw ModuleTag_02
4788    AnimationsRequirePower = No
4789      DefaultConditionState
4790        Model           = None
4791        TransitionKey   = DOWN_DEFAULT
4792      End
4793      ConditionState    = NIGHT
4794        Model           = None
4795        TransitionKey   = DOWN_DEFAULT
4796      End
4797      ConditionState    = SNOW
4798        Model           = None
4799        TransitionKey   = DOWN_DEFAULT
4800      End
4801      ConditionState    = SNOW NIGHT
4802        Model           = None
4803        TransitionKey   = DOWN_DEFAULT
4804      End
4805      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4806        Model           = UBStingerS_A4
4807        Animation       = UBStingerS_A4.UBStingerS_A4
4808        AnimationMode   = MANUAL
4809        Flags           = START_FRAME_LAST
4810        TransitionKey   = UP_DAY
4811      End
4812      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4813        Model           = UBStingerS_A4N
4814        Animation       = UBStingerS_A4N.UBStingerS_A4N
4815        AnimationMode   = MANUAL
4816        Flags           = START_FRAME_LAST
4817        TransitionKey   = UP_NIGHT
4818      End
4819      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4820        Model           = UBStingerS_A4S
4821        Animation       = UBStingerS_A4S.UBStingerS_A4S
4822        AnimationMode   = MANUAL
4823        Flags           = START_FRAME_LAST
4824        TransitionKey   = UP_SNOW
4825      End
4826      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
4827        Model           = UBStingerS_A4SN
4828        Animation       = UBStingerS_A4SN.UBStingerS_A4SN
4829        AnimationMode   = MANUAL
4830        Flags           = START_FRAME_LAST
4831        TransitionKey   = UP_SNOWNIGHT
4832      End
4833      TransitionState   = DOWN_DEFAULT UP_DAY
4834        Model           = UBStingerS_A4
4835        Animation       = UBStingerS_A4.UBStingerS_A4
4836        AnimationMode   = ONCE
4837        AnimationSpeedFactorRange = 1.0 1.0
4838        Flags           = START_FRAME_FIRST
4839      End
4840      TransitionState   = DOWN_DEFAULT UP_NIGHT
4841        Model           = UBStingerS_A4N
4842        Animation       = UBStingerS_A4N.UBStingerS_A4N
4843        AnimationMode   = ONCE
4844        AnimationSpeedFactorRange = 1.0 1.0
4845        Flags           = START_FRAME_FIRST
4846      End
4847      TransitionState   = DOWN_DEFAULT UP_SNOW
4848        Model           = UBStingerS_A4S
4849        Animation       = UBStingerS_A4S.UBStingerS_A4S
4850        AnimationMode   = ONCE
4851        AnimationSpeedFactorRange = 1.0 1.0
4852        Flags           = START_FRAME_FIRST
4853      End
4854      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
4855        Model           = UBStingerS_A4SN
4856        Animation       = UBStingerS_A4SN.UBStingerS_A4SN
4857        AnimationMode   = ONCE
4858        AnimationSpeedFactorRange = 1.0 1.0
4859        Flags           = START_FRAME_FIRST
4860      End
4861      TransitionState   = UP_DAY DOWN_DEFAULT
4862        Model           = UBStingerS_A4
4863        Animation       = UBStingerS_A4.UBStingerS_A4
4864        AnimationMode   = ONCE_BACKWARDS
4865        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4866        Flags           = START_FRAME_LAST
4867      End
4868      TransitionState   = UP_NIGHT DOWN_DEFAULT
4869        Model           = UBStingerS_A4N
4870        Animation       = UBStingerS_A4N.UBStingerS_A4N
4871        AnimationMode   = ONCE_BACKWARDS
4872        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4873        Flags           = START_FRAME_LAST
4874      End
4875      TransitionState   = UP_SNOW DOWN_DEFAULT
4876        Model           = UBStingerS_A4S
4877        Animation       = UBStingerS_A4S.UBStingerS_A4S
4878        AnimationMode   = ONCE_BACKWARDS
4879        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4880        Flags           = START_FRAME_LAST
4881      End
4882      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
4883        Model           = UBStingerS_A4SN
4884        Animation       = UBStingerS_A4SN.UBStingerS_A4SN
4885        AnimationMode   = ONCE_BACKWARDS
4886        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4887        Flags           = START_FRAME_LAST
4888      End
4889    End
4890  
4891    ; ------------ under-construction scaffolding -----------------
4892    Draw = W3DModelDraw ModuleTag_03
4893    AnimationsRequirePower = No
4894      MinLODRequired = MEDIUM
4895      DefaultConditionState
4896        Model           = None
4897        TransitionKey   = DOWN_DEFAULT
4898      End
4899      ConditionState    = NIGHT
4900        Model           = None
4901        TransitionKey   = DOWN_DEFAULT
4902      End
4903      ConditionState    = SNOW
4904        Model           = None
4905        TransitionKey   = DOWN_DEFAULT
4906      End
4907      ConditionState    = SNOW NIGHT
4908        Model           = None
4909        TransitionKey   = DOWN_DEFAULT
4910      End
4911      ConditionState    = PARTIALLY_CONSTRUCTED
4912        Model           = UBStingerS_A6
4913        Animation       = UBStingerS_A6.UBStingerS_A6
4914        AnimationMode   = MANUAL
4915        Flags           = START_FRAME_LAST
4916        TransitionKey   = UP_DAY
4917        ParticleSysBone = Smoke01 BuildUpSmoke
4918        ParticleSysBone = Smoke02 BuildUpSmoke
4919        ParticleSysBone = Smoke03 BuildUpSmoke
4920      End
4921      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
4922        Model           = UBStingerS_A6N
4923        Animation       = UBStingerS_A6N.UBStingerS_A6N
4924        AnimationMode   = MANUAL
4925        Flags           = START_FRAME_LAST
4926        TransitionKey   = UP_NIGHT
4927        ParticleSysBone = Smoke01 BuildUpSmoke
4928        ParticleSysBone = Smoke02 BuildUpSmoke
4929        ParticleSysBone = Smoke03 BuildUpSmoke
4930      End
4931      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
4932        Model           = UBStingerS_A6S
4933        Animation       = UBStingerS_A6S.UBStingerS_A6S
4934        AnimationMode   = MANUAL
4935        Flags           = START_FRAME_LAST
4936        TransitionKey   = UP_SNOW
4937        ParticleSysBone = Smoke01 BuildUpSnowSmoke
4938        ParticleSysBone = Smoke02 BuildUpSnowSmoke
4939        ParticleSysBone = Smoke03 BuildUpSnowSmoke
4940      End
4941      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
4942        Model           = UBStingerS_A6SN
4943        Animation       = UBStingerS_A6SN.UBStingerS_A6SN
4944        AnimationMode   = MANUAL
4945        Flags           = START_FRAME_LAST
4946        TransitionKey   = UP_SNOWNIGHT
4947        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
4948        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
4949        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
4950      End
4951      TransitionState   = DOWN_DEFAULT UP_DAY
4952       Model            = UBStingerS_A6
4953        Animation       = UBStingerS_A6.UBStingerS_A6
4954        AnimationMode   = ONCE
4955        AnimationSpeedFactorRange = 1.0 1.0
4956        Flags           = START_FRAME_FIRST
4957      End
4958      TransitionState   = DOWN_DEFAULT UP_NIGHT
4959       Model            = UBStingerS_A6N
4960        Animation       = UBStingerS_A6N.UBStingerS_A6N
4961        AnimationMode   = ONCE
4962        AnimationSpeedFactorRange = 1.0 1.0
4963        Flags           = START_FRAME_FIRST
4964      End
4965      TransitionState   = DOWN_DEFAULT UP_SNOW
4966       Model            = UBStingerS_A6S
4967        Animation       = UBStingerS_A6S.UBStingerS_A6S
4968        AnimationMode   = ONCE
4969        AnimationSpeedFactorRange = 1.0 1.0
4970        Flags           = START_FRAME_FIRST
4971      End
4972      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
4973       Model            = UBStingerS_A6SN
4974        Animation       = UBStingerS_A6SN.UBStingerS_A6SN
4975        AnimationMode   = ONCE
4976        AnimationSpeedFactorRange = 1.0 1.0
4977        Flags           = START_FRAME_FIRST
4978      End
4979      TransitionState   = UP_DAY DOWN_DEFAULT
4980        Model           = UBStingerS_A6
4981        Animation       = UBStingerS_A6.UBStingerS_A6
4982        AnimationMode   = ONCE_BACKWARDS
4983        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4984        Flags           = START_FRAME_LAST
4985      End
4986      TransitionState   = UP_NIGHT DOWN_DEFAULT
4987        Model           = UBStingerS_A6N
4988        Animation       = UBStingerS_A6N.UBStingerS_A6N
4989        AnimationMode   = ONCE_BACKWARDS
4990        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4991        Flags           = START_FRAME_LAST
4992      End
4993      TransitionState   = UP_SNOW DOWN_DEFAULT
4994        Model           = UBStingerS_A6S
4995        Animation       = UBStingerS_A6S.UBStingerS_A6S
4996        AnimationMode   = ONCE_BACKWARDS
4997        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
4998        Flags           = START_FRAME_LAST
4999      End
5000      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
5001        Model           = UBStingerS_A6SN
5002        Animation       = UBStingerS_A6SN.UBStingerS_A6SN
5003        AnimationMode   = ONCE_BACKWARDS
5004        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5005        Flags           = START_FRAME_LAST
5006      End
5007    End
5008    
5009    PlacementViewAngle = -45
5010  
5011    ; ***DESIGN parameters ***
5012    DisplayName         = OBJECT:StingerSite
5013    Side                = GLAToxinGeneral
5014    EditorSorting       = STRUCTURE
5015    Prerequisites
5016      Object            = Chem_GLABarracks
5017    End
5018    BuildCost           = 900
5019    BuildTime           = 15.0           ; in seconds
5020    EnergyProduction    = 0
5021    VisionRange         = 600.0           ; Shroud clearing distance
5022    ShroudClearingRange = 400
5023    ArmorSet
5024      Conditions        = None
5025      Armor             = StingerSiteArmor
5026      DamageFX          = StructureDamageFXNoShake
5027    End
5028    CommandSet          = Chem_GLAStingerSiteCommandSet
5029    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
5030  
5031    ; *** AUDIO Parameters ***
5032    VoiceSelect         = StingerSiteSelect
5033    SoundOnDamaged        = BuildingDamagedStateLight
5034    SoundOnReallyDamaged  = BuildingDestroy
5035  
5036    UnitSpecificSounds
5037      UnderConstruction     = UnderConstructionLoop
5038    End
5039  
5040    ; *** ENGINEERING Parameters ***
5041    RadarPriority        = STRUCTURE
5042    KindOf               = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SPAWNS_ARE_THE_WEAPONS SCORE_CREATE
5043  
5044    Body                 = HiveStructureBody ModuleTag_04 ;Requires SpawnBehavior!
5045      MaxHealth          = 1000.0
5046      InitialHealth      = 1000.0
5047      ;**Careful with these damage types -- because area damage types will already
5048      ;**damage slaves.
5049      PropagateDamageTypesToSlavesWhenExisting = NONE +SMALL_ARMS +SNIPER +POISON +RADIATION +SURRENDER
5050      SwallowDamageTypesIfSlavesNotExisting = NONE +SNIPER +POISON +SURRENDER; Take no damage if no one to pass this to
5051  
5052      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
5053      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
5054      SubdualDamageCap = 1200
5055      SubdualDamageHealRate = 500
5056      SubdualDamageHealAmount = 100
5057    End
5058  
5059    Behavior = SpawnPointProductionExitUpdate ModuleTag_05
5060      SpawnPointBoneName = SpawnPoint
5061    End
5062  
5063    Behavior                = SpawnBehavior ModuleTag_06
5064      SpawnNumber           = 3
5065      SpawnReplaceDelay     = 30000 ;msec
5066      SpawnTemplateName     = Chem_GLAInfantryStingerSoldier
5067      CanReclaimOrphans     = No
5068      SpawnedRequireSpawner = Yes
5069      SlavesHaveFreeWill = No
5070    End
5071    Behavior        = RebuildHoleExposeDie ModuleTag_08
5072      HoleName      = GLAHoleStingerSite
5073      HoleMaxHealth = 500.0
5074    End
5075    Behavior        = DestroyDie ModuleTag_09
5076      ;<NO DATA>
5077    End
5078    Behavior        = CreateObjectDie ModuleTag_10
5079      CreationList  = OCL_ABStingerSiteDebris
5080    End
5081    Behavior        = FXListDie ModuleTag_11
5082      DeathFX       = FX_StructureSmallDeath
5083    End
5084    Behavior        = FireWeaponWhenDeadBehavior ModuleTag_12
5085      DeathWeapon   = StingerSiteDeathConcussion
5086      StartsActive  = Yes
5087    End
5088  
5089    ;Kris: Cut camo-netting from Chem General
5090    ;Behavior = StealthUpdate ModuleTag_13
5091    ;  StealthDelay                = 2500 ; msec
5092    ;  StealthForbiddenConditions  = ATTACKING USING_ABILITY NO_BLACK_MARKET TAKING_DAMAGE
5093    ;  MoveThresholdSpeed          = 3
5094    ;  InnateStealth               = No ;Requires upgrade first
5095    ;  OrderIdleEnemiesToAttackMeUponReveal  = Yes
5096    ;End
5097    ;Behavior = StealthUpgrade ModuleTag_14
5098    ;  TriggeredBy = Upgrade_GLACamoNetting
5099    ;End
5100    ;Behavior = ProductionUpdate ModuleTag_15
5101    ;End
5102    
5103    Behavior                = FlammableUpdate ModuleTag_16
5104      AflameDuration        = 5000         ; If I catch fire, I'll burn for this long...
5105      AflameDamageAmount    = 5       ; taking this much damage...
5106      AflameDamageDelay     = 500       ; this often.
5107    End
5108  
5109    Behavior = TransitionDamageFX ModuleTag_17
5110      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
5111      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
5112      ;---------------------------------------------------------------------------------------
5113      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
5114      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
5115      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
5116    End
5117  
5118    Geometry            = CYLINDER
5119    GeometryMajorRadius = 36.0
5120    GeometryHeight      = 9.0    
5121    GeometryIsSmall     = No
5122    Shadow              = SHADOW_VOLUME
5123    BuildCompletion     = PLACED_BY_PLAYER
5124  
5125  End
5126  
5127  ;------------------------------------------------------------------------------
5128  ObjectReskin Chem_GLAHoleStingerSite Chem_GLAHole
5129    Draw                     = W3DModelDraw ModuleTag_01
5130      OkToChangeModelColor   = Yes
5131      ConditionState         = NONE
5132        Model                = UBHole
5133      End
5134      ConditionState         = DAMAGED
5135        Model                = UBHole_D
5136        ParticleSysBone      = Smoke01 SteamVent
5137      End
5138      ConditionState         = REALLYDAMAGED
5139        Model                = UBHole_E
5140        ParticleSysBone      = Smoke01 SteamVent
5141        ParticleSysBone      = Smoke02 SteamVent
5142        ParticleSysBone      = Fire01 GLAPowerPlantFlame
5143        ParticleSysBone      = Fire02 GLAPowerPlantFlame
5144        ParticleSysBone      = Fire03 GLAPowerPlantFlame
5145      End
5146    End
5147    Draw                     = W3DModelDraw ModuleTag_02
5148      OkToChangeModelColor   = Yes
5149      ConditionState         = NONE
5150        Model                = UBStingerS_R
5151      End
5152      ConditionState         = DAMAGED REALLYDAMAGED
5153        Model                = UBStingerS_R
5154      End
5155    End
5156  End
5157  
5158  ;------------------------------------------------------------------------------
5159  Object Chem_GLAPalace
5160  
5161    ; *** ART Parameters ***
5162    SelectPortrait         = SUPalace_L
5163    ButtonImage            = SUPalace
5164    Draw                     = W3DModelDraw ModuleTag_01
5165      OkToChangeModelColor   = Yes
5166      
5167      ; day  
5168      ConditionState         = NONE
5169        Model                = UBPalace
5170        ParticleSysBone      = Smoke01 SmolderingSmoke
5171        Animation            = UBPalace.UBPalace
5172        AnimationMode        = LOOP
5173      End
5174      ConditionState         = DAMAGED
5175        Model                = UBPalace_D
5176        ParticleSysBone      = Smoke01 SmolderingSmoke
5177        Animation            = UBPalace_D.UBPalace_D
5178        AnimationMode        = LOOP
5179      End
5180      ConditionState         = REALLYDAMAGED RUBBLE
5181        Model                = UBPalace_E
5182        ParticleSysBone      = Smoke01 SmolderingSmoke
5183      End
5184      
5185      ConditionState         = GARRISONED
5186        Model                = UBPalace_G
5187        ParticleSysBone      = Smoke01 SmolderingSmoke
5188        Animation            = UBPalace_G.UBPalace_G
5189        AnimationMode        = LOOP
5190      End
5191      ConditionState         = USER_1
5192        Model                = UBPalaceEG
5193        ParticleSysBone      = Smoke01 SmolderingSmoke
5194        Animation            = UBPalaceEG.UBPalaceEG
5195        AnimationMode        = LOOP
5196      End
5197      ConditionState         = USER_1 GARRISONED
5198        Model                = UBPalaceEGX
5199        ParticleSysBone      = Smoke01 SmolderingSmoke
5200         Animation            = UBPalaceEGX.UBPalaceEGX
5201        AnimationMode        = LOOP
5202      End
5203      ConditionState         = DAMAGED GARRISONED
5204        Model                = UBPalace_DG
5205        ParticleSysBone      = Smoke01 SmolderingSmoke
5206        Animation            = UBPalace_DG.UBPalace_DG
5207        AnimationMode        = LOOP
5208      End
5209      ConditionState         = DAMAGED USER_1
5210        Model                = UBPalaceEG_D
5211        ParticleSysBone      = Smoke01 SmolderingSmoke
5212        Animation            = UBPalaceEG_D.UBPalaceEG_D
5213        AnimationMode        = LOOP
5214      End
5215      ConditionState         = DAMAGED USER_1 GARRISONED
5216       Model                = UBPalaceEGX_D
5217        ParticleSysBone      = Smoke01 SmolderingSmoke
5218        Animation            = UBPalaceEGX_D.UBPalaceEGX_D
5219        AnimationMode        = LOOP
5220      End
5221      
5222      ConditionState         = REALLYDAMAGED GARRISONED
5223        Model                = UBPalace_EG
5224        ParticleSysBone      = Smoke01 SmolderingSmoke
5225      End
5226      ConditionState         = REALLYDAMAGED USER_1
5227        Model                = UBPalaceEG_E
5228        ParticleSysBone      = Smoke01 SmolderingSmoke
5229      End
5230      ConditionState         = REALLYDAMAGED USER_1 GARRISONED
5231        Model                = UBPalaceEGX_E
5232        ParticleSysBone      = Smoke01 SmolderingSmoke
5233      End
5234      
5235      ; day snow
5236      ConditionState         = SNOW
5237        Model                = UBPalace_S
5238        ParticleSysBone      = Smoke01 SmolderingSmoke
5239        Animation            = UBPalace_S.UBPalace_S
5240        AnimationMode        = LOOP
5241      End
5242      ConditionState         = DAMAGED SNOW
5243        Model                = UBPalace_DS
5244        ParticleSysBone      = Smoke01 SmolderingSmoke
5245        Animation            = UBPalace_DS.UBPalace_DS
5246        AnimationMode        = LOOP
5247      End
5248      ConditionState         = REALLYDAMAGED RUBBLE SNOW
5249        Model                = UBPalace_ES
5250        ParticleSysBone      = Smoke01 SmolderingSmoke
5251      End
5252      
5253      ConditionState         = GARRISONED SNOW
5254        Model                = UBPalace_SG
5255        ParticleSysBone      = Smoke01 SmolderingSmoke
5256        Animation            = UBPalace_SG.UBPalace_SG
5257        AnimationMode        = LOOP
5258      End
5259      ConditionState         = USER_1 SNOW
5260        Model                = UBPalaceEG_S
5261        ParticleSysBone      = Smoke01 SmolderingSmoke
5262        Animation            = UBPalaceEG_S.UBPalaceEG_S
5263        AnimationMode        = LOOP
5264      End
5265      ConditionState         = USER_1 SNOW GARRISONED
5266        Model                = UBPalaceEGX_S
5267        ParticleSysBone      = Smoke01 SmolderingSmoke
5268        Animation            = UBPalaceEGX_S.UBPalaceEGX_S
5269        AnimationMode        = LOOP
5270      End
5271      
5272      ConditionState         = DAMAGED GARRISONED SNOW
5273        Model                = UBPalace_DSG
5274        ParticleSysBone      = Smoke01 SmolderingSmoke
5275        Animation            = UBPalace_DSG.UBPalace_DSG
5276        AnimationMode        = LOOP
5277      End
5278      ConditionState         = DAMAGED USER_1 SNOW
5279        Model                = UBPalaceEG_DS
5280        ParticleSysBone      = Smoke01 SmolderingSmoke
5281        Animation            = UBPalaceEG_DS.UBPalaceEG_DS
5282        AnimationMode        = LOOP
5283      End
5284      ConditionState         = DAMAGED USER_1 SNOW GARRISONED
5285        Model                = UBPalaceEGX_DS
5286        ParticleSysBone      = Smoke01 SmolderingSmoke
5287        Animation            = UBPalaceEGX_DSG.UBPalaceEGX_DS
5288        AnimationMode        = LOOP
5289      End
5290          
5291      ConditionState         = REALLYDAMAGED GARRISONED SNOW
5292        Model                = UBPalace_ESG
5293        ParticleSysBone      = Smoke01 SmolderingSmoke
5294      End
5295      ConditionState         = REALLYDAMAGED USER_1 SNOW
5296        Model                = UBPalaceEG_ES
5297        ParticleSysBone      = Smoke01 SmolderingSmoke
5298      End
5299      ConditionState         = REALLYDAMAGED USER_1 GARRISONED SNOW
5300        Model                = UBPalaceEGX_ES
5301       ParticleSysBone      = Smoke01 SmolderingSmoke
5302      End
5303  
5304      ; night  
5305      ConditionState         = NIGHT
5306        Model                = UBPalace_N
5307        ParticleSysBone      = Smoke01 SmolderingSmoke
5308        Animation            = UBPalace_N.UBPalace_N
5309        AnimationMode        = LOOP
5310      End
5311      ConditionState         = DAMAGED NIGHT
5312        Model                = UBPalace_DN
5313        ParticleSysBone      = Smoke01 SmolderingSmoke
5314        Animation            = UBPalace_DN.UBPalace_DN
5315        AnimationMode        = LOOP
5316      End
5317      ConditionState         = REALLYDAMAGED RUBBLE NIGHT
5318        Model                = UBPalace_EN
5319        ParticleSysBone      = Smoke01 SmolderingSmoke
5320      End
5321          
5322      ConditionState         = GARRISONED NIGHT
5323        Model                = UBPalace_NG
5324        ParticleSysBone      = Smoke01 SmolderingSmoke
5325        Animation            = UBPalace_NG.UBPalace_NG
5326        AnimationMode        = LOOP
5327      End
5328      ConditionState         = USER_1 NIGHT
5329        Model                = UBPalaceEG_N
5330        ParticleSysBone      = Smoke01 SmolderingSmoke
5331        Animation            = UBPalaceEG_N.UBPalaceEG_N
5332        AnimationMode        = LOOP
5333      End
5334      ; commented out until we get the right state (garrison + elite guard)
5335      ConditionState         = USER_1 NIGHT GARRISONED
5336        Model                = UBPalaceEGX_N
5337        ParticleSysBone      = Smoke01 SmolderingSmoke
5338        Animation            = UBPalaceEGX_N.UBPalaceEGX_N
5339        AnimationMode        = LOOP
5340      End
5341          
5342      ConditionState         = DAMAGED GARRISONED NIGHT
5343        Model                = UBPalace_DGN
5344        ParticleSysBone      = Smoke01 SmolderingSmoke
5345        Animation            = UBPalace_DGN.UBPalace_DGN
5346        AnimationMode        = LOOP
5347      End
5348      ConditionState         = DAMAGED USER_1 NIGHT
5349        Model                = UBPalaceEG_DN
5350        ParticleSysBone      = Smoke01 SmolderingSmoke
5351        Animation            = UBPalaceEG_DN.UBPalaceEG_DN
5352        AnimationMode        = LOOP
5353      End
5354      ConditionState         = DAMAGED USER_1 NIGHT GARRISONED
5355        Model                = UBPalaceEGX_DN
5356        ParticleSysBone      = Smoke01 SmolderingSmoke
5357        Animation            = UBPalaceEGX_DN.UBPalaceEGX_DN
5358        AnimationMode        = LOOP
5359      End    
5360      
5361      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
5362        Model                = UBPalace_ENG
5363        ParticleSysBone      = Smoke01 SmolderingSmoke
5364      End
5365      ConditionState         = REALLYDAMAGED USER_1 NIGHT
5366        Model                = UBPalaceEG_EN
5367        ParticleSysBone      = Smoke01 SmolderingSmoke
5368      End
5369      ConditionState         = REALLYDAMAGED USER_1 NIGHT GARRISONED
5370        Model                = UBPalaceEGX_EN
5371        ParticleSysBone      = Smoke01 SmolderingSmoke
5372      End
5373  
5374      ; night snow
5375      ConditionState         = SNOW NIGHT
5376        Model                = UBPalace_NS
5377        ParticleSysBone      = Smoke01 SmolderingSmoke
5378        Animation            = UBPalace_NS.UBPalace_NS
5379        AnimationMode        = LOOP
5380      End
5381      ConditionState         = DAMAGED SNOW NIGHT
5382        Model                = UBPalace_DNS
5383        ParticleSysBone      = Smoke01 SmolderingSmoke
5384        Animation            = UBPalace_DNS.UBPalace_DNS
5385        AnimationMode        = LOOP
5386      End
5387      ConditionState         = REALLYDAMAGED RUBBLE SNOW NIGHT
5388        Model                = UBPalace_ENS
5389        ParticleSysBone      = Smoke01 SmolderingSmoke
5390      End
5391      
5392      ConditionState         = GARRISONED SNOW NIGHT
5393        Model                = UBPalace_GNS
5394        ParticleSysBone      = Smoke01 SmolderingSmoke
5395        Animation            = UBPalace_GNS.UBPalace_GNS
5396        AnimationMode        = LOOP
5397      End
5398      ConditionState         = USER_1 SNOW NIGHT
5399        Model                = UBPalaceEG_NS
5400        ParticleSysBone      = Smoke01 SmolderingSmoke
5401        Animation            = UBPalaceEG_NS.UBPalaceEG_NS
5402        AnimationMode        = LOOP
5403      End
5404      ConditionState         = USER_1 SNOW NIGHT GARRISONED
5405        Model                = UBPalaceEGX_NS
5406        ParticleSysBone      = Smoke01 SmolderingSmoke
5407        Animation            = UBPalaceEGX_NS.UBPalaceEGX_NS
5408        AnimationMode        = LOOP
5409      End
5410  
5411      ConditionState         = DAMAGED GARRISONED SNOW NIGHT
5412        Model                = UBPalace_DGNS
5413        ParticleSysBone      = Smoke01 SmolderingSmoke
5414        Animation            = UBPalace_DGNS.UBPalace_DGNS
5415        AnimationMode        = LOOP
5416      End
5417      ConditionState         = DAMAGED USER_1 SNOW NIGHT
5418        Model                = UBPalaceEG_DNS
5419        ParticleSysBone      = Smoke01 SmolderingSmoke
5420        Animation            = UBPalaceEG_DNS.UBPalaceEG_DNS
5421        AnimationMode        = LOOP
5422      End
5423      ConditionState         = DAMAGED USER_1 SNOW NIGHT GARRISONED
5424        Model                = UBPalaceEGX_DNS
5425        ParticleSysBone      = Smoke01 SmolderingSmoke
5426        Animation            = UBPalaceEGX_DNS.UBPalaceEGX_DNS
5427        AnimationMode        = LOOP
5428      End    
5429      
5430      ConditionState         = REALLYDAMAGED GARRISONED SNOW NIGHT
5431        Model                = UBPalace_ENSG
5432        ParticleSysBone      = Smoke01 SmolderingSmoke
5433      End
5434      ConditionState         = REALLYDAMAGED USER_1 SNOW NIGHT
5435        Model                = UBPalaceEG_ENS
5436        ParticleSysBone      = Smoke01 SmolderingSmoke
5437      End
5438      ConditionState         = REALLYDAMAGED USER_1 SNOW NIGHT GARRISONED
5439        Model                = UBPalaceEGX_ENS
5440        ParticleSysBone      = Smoke01 SmolderingSmoke
5441      End
5442      
5443      ;**************************************************************************************************************************
5444      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
5445      ;for this draw module
5446      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5447        Model              = UBPalace
5448        Animation          = UBPalace.UBPalace
5449        AnimationMode      = LOOP
5450        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5451      End
5452      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
5453        Model              = UBPalace_D
5454        Animation          = UBPalace_D.UBPalace_D
5455        AnimationMode      = LOOP
5456        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5457      End
5458      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
5459        Model              = UBPalace_E
5460        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5461      End
5462      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
5463        Model              = UBPalace_N
5464        Animation          = UBPalace_N.UBPalace_N
5465        AnimationMode      = LOOP
5466        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5467      End
5468      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
5469        Model              = UBPalace_DN
5470        Animation          = UBPalace_DN.UBPalace_DN
5471        AnimationMode      = LOOP
5472        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5473      End
5474      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
5475        Model              = UBPalace_EN
5476        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5477      End
5478      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
5479        Model              = UBPalace_S
5480        Animation          = UBPalace_S.UBPalace_S
5481        AnimationMode      = LOOP
5482        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5483      End
5484      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
5485        Model              = UBPalace_DS
5486        Animation          = UBPalace_DS.UBPalace_DS
5487        AnimationMode      = LOOP
5488        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5489      End
5490      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
5491        Model              = UBPalace_ES
5492        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5493      End
5494      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
5495        Model              = UBPalace_NS
5496        Animation          = UBPalace_NS.UBPalace_NS
5497        AnimationMode      = LOOP
5498        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5499      End
5500      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
5501        Model              = UBPalace_DNS
5502        Animation          = UBPalace_DNS.UBPalace_DNS
5503        AnimationMode      = LOOP
5504        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5505      End
5506      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
5507        Model              = UBPalace_ENS
5508        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
5509      End
5510  
5511      ConditionState       = AWAITING_CONSTRUCTION 
5512        Model              = NONE
5513      End
5514      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
5515      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
5516      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
5517      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
5518      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
5519      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
5520      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
5521      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
5522      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
5523      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
5524      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
5525      AliasConditionState  = SOLD 
5526      AliasConditionState  = SOLD DAMAGED
5527      AliasConditionState  = SOLD REALLYDAMAGED
5528      AliasConditionState  = SOLD NIGHT
5529      AliasConditionState  = SOLD NIGHT DAMAGED
5530      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
5531      AliasConditionState  = SOLD SNOW
5532      AliasConditionState  = SOLD SNOW DAMAGED
5533      AliasConditionState  = SOLD SNOW REALLYDAMAGED
5534      AliasConditionState  = SOLD NIGHT SNOW
5535      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
5536      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
5537      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED USER_1
5538      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED USER_1
5539      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT USER_1
5540      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED USER_1
5541      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED USER_1
5542      AliasConditionState  = AWAITING_CONSTRUCTION SNOW USER_1
5543      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED USER_1
5544      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED USER_1
5545      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW USER_1
5546      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED USER_1
5547      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED USER_1
5548      AliasConditionState  = SOLD USER_1
5549      AliasConditionState  = SOLD DAMAGED USER_1
5550      AliasConditionState  = SOLD REALLYDAMAGED USER_1
5551      AliasConditionState  = SOLD NIGHT USER_1
5552      AliasConditionState  = SOLD NIGHT DAMAGED USER_1
5553      AliasConditionState  = SOLD NIGHT REALLYDAMAGED USER_1
5554      AliasConditionState  = SOLD SNOW USER_1
5555      AliasConditionState  = SOLD SNOW DAMAGED USER_1
5556      AliasConditionState  = SOLD SNOW REALLYDAMAGED USER_1
5557      AliasConditionState  = SOLD NIGHT SNOW USER_1
5558      AliasConditionState  = SOLD NIGHT SNOW DAMAGED USER_1
5559      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED USER_1
5560      AliasConditionState  = GARRISONED SOLD 
5561      AliasConditionState  = GARRISONED SOLD DAMAGED
5562      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
5563      AliasConditionState  = GARRISONED SOLD NIGHT
5564      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
5565      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
5566      AliasConditionState  = GARRISONED SOLD SNOW
5567      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
5568      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
5569      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
5570      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
5571      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
5572      AliasConditionState  = GARRISONED SOLD USER_1
5573      AliasConditionState  = GARRISONED SOLD DAMAGED USER_1
5574      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED USER_1
5575      AliasConditionState  = GARRISONED SOLD NIGHT USER_1
5576      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED USER_1
5577      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED USER_1
5578      AliasConditionState  = GARRISONED SOLD SNOW USER_1
5579      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED USER_1
5580      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED USER_1
5581      AliasConditionState  = GARRISONED SOLD NIGHT SNOW USER_1
5582      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED USER_1
5583      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED USER_1
5584      ;**************************************************************************************************************************
5585  
5586    End
5587    PlacementViewAngle = -45
5588  
5589    ; ------------ construction-zone fence -----------------
5590    Draw = W3DModelDraw ModuleTag_02
5591    AnimationsRequirePower = No
5592      DefaultConditionState
5593        Model           = None
5594        TransitionKey   = DOWN_DEFAULT
5595      End
5596      ConditionState    = NIGHT
5597        Model           = None
5598        TransitionKey   = DOWN_DEFAULT
5599      End
5600      ConditionState    = SNOW
5601        Model           = None
5602        TransitionKey   = DOWN_DEFAULT
5603      End
5604      ConditionState    = SNOW NIGHT
5605        Model           = None
5606        TransitionKey   = DOWN_DEFAULT
5607      End
5608      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5609        Model           = UBPalace_A4
5610        Animation       = UBPalace_A4.UBPalace_A4
5611        AnimationMode   = MANUAL
5612        Flags           = START_FRAME_LAST
5613        TransitionKey   = UP_DAY
5614      End
5615      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5616        Model           = UBPalace_A4N
5617        Animation       = UBPalace_A4N.UBPalace_A4N
5618        AnimationMode   = MANUAL
5619        Flags           = START_FRAME_LAST
5620        TransitionKey   = UP_NIGHT
5621      End
5622      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5623        Model           = UBPalace_A4S
5624        Animation       = UBPalace_A4S.UBPalace_A4S
5625        AnimationMode   = MANUAL
5626        Flags           = START_FRAME_LAST
5627        TransitionKey   = UP_SNOW
5628      End
5629      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
5630        Model           = UBPalace_A4SN
5631        Animation       = UBPalace_A4SN.UBPalace_A4SN
5632        AnimationMode   = MANUAL
5633        Flags           = START_FRAME_LAST
5634        TransitionKey   = UP_SNOWNIGHT
5635      End
5636      TransitionState   = DOWN_DEFAULT UP_DAY
5637        Model           = UBPalace_A4
5638        Animation       = UBPalace_A4.UBPalace_A4
5639        AnimationMode   = ONCE
5640        AnimationSpeedFactorRange = 1.0 1.0
5641        Flags           = START_FRAME_FIRST
5642      End
5643      TransitionState   = DOWN_DEFAULT UP_NIGHT
5644        Model           = UBPalace_A4N
5645        Animation       = UBPalace_A4N.UBPalace_A4N
5646        AnimationMode   = ONCE
5647        AnimationSpeedFactorRange = 1.0 1.0
5648        Flags           = START_FRAME_FIRST
5649      End
5650      TransitionState   = DOWN_DEFAULT UP_SNOW
5651        Model           = UBPalace_A4S
5652        Animation       = UBPalace_A4S.UBPalace_A4S
5653        AnimationMode   = ONCE
5654        AnimationSpeedFactorRange = 1.0 1.0
5655        Flags           = START_FRAME_FIRST
5656      End
5657      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
5658        Model           = UBPalace_A4SN
5659        Animation       = UBPalace_A4SN.UBPalace_A4SN
5660        AnimationMode   = ONCE
5661        AnimationSpeedFactorRange = 1.0 1.0
5662        Flags           = START_FRAME_FIRST
5663      End
5664      TransitionState   = UP_DAY DOWN_DEFAULT
5665        Model           = UBPalace_A4
5666        Animation       = UBPalace_A4.UBPalace_A4
5667        AnimationMode   = ONCE_BACKWARDS
5668        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5669        Flags           = START_FRAME_LAST
5670      End
5671      TransitionState   = UP_NIGHT DOWN_DEFAULT
5672        Model           = UBPalace_A4N
5673        Animation       = UBPalace_A4N.UBPalace_A4N
5674        AnimationMode   = ONCE_BACKWARDS
5675        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5676        Flags           = START_FRAME_LAST
5677      End
5678      TransitionState   = UP_SNOW DOWN_DEFAULT
5679        Model           = UBPalace_A4S
5680        Animation       = UBPalace_A4S.UBPalace_A4S
5681        AnimationMode   = ONCE_BACKWARDS
5682        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5683        Flags           = START_FRAME_LAST
5684      End
5685      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
5686        Model           = UBPalace_A4SN
5687        Animation       = UBPalace_A4SN.UBPalace_A4SN
5688        AnimationMode   = ONCE_BACKWARDS
5689        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5690        Flags           = START_FRAME_LAST
5691      End
5692    End
5693  
5694    ; ------------ under-construction scaffolding -----------------
5695    Draw = W3DModelDraw ModuleTag_03
5696    AnimationsRequirePower = No
5697      MinLODRequired = MEDIUM
5698      DefaultConditionState
5699        Model           = None
5700        TransitionKey   = DOWN_DEFAULT
5701      End
5702      ConditionState    = NIGHT
5703        Model           = None
5704        TransitionKey   = DOWN_DEFAULT
5705      End
5706      ConditionState    = SNOW
5707        Model           = None
5708        TransitionKey   = DOWN_DEFAULT
5709      End
5710      ConditionState    = SNOW NIGHT
5711        Model           = None
5712        TransitionKey   = DOWN_DEFAULT
5713      End
5714      ConditionState    = PARTIALLY_CONSTRUCTED
5715        Model           = UBPalace_A6
5716        Animation       = UBPalace_A6.UBPalace_A6
5717        AnimationMode   = MANUAL
5718        Flags           = START_FRAME_LAST
5719        TransitionKey   = UP_DAY
5720        ParticleSysBone = Dust01 BuildingDust
5721        ParticleSysBone = Smoke01 BuildUpSmoke
5722        ParticleSysBone = Smoke02 BuildUpSmoke
5723        ParticleSysBone = Smoke03 BuildUpSmoke
5724        ParticleSysBone = Smoke04 BuildUpSmoke
5725        ParticleSysBone = Smoke05 BuildUpSmoke
5726      End
5727      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
5728        Model           = UBPalace_A6N
5729        Animation       = UBPalace_A6N.UBPalace_A6N
5730        AnimationMode   = MANUAL
5731        Flags           = START_FRAME_LAST
5732        TransitionKey   = UP_NIGHT
5733        ParticleSysBone = Dust01 BuildingDust
5734        ParticleSysBone = Smoke01 BuildUpSmoke
5735        ParticleSysBone = Smoke02 BuildUpSmoke
5736        ParticleSysBone = Smoke03 BuildUpSmoke
5737        ParticleSysBone = Smoke04 BuildUpSmoke
5738        ParticleSysBone = Smoke05 BuildUpSmoke
5739      End
5740      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
5741        Model           = UBPalace_A6S
5742        Animation       = UBPalace_A6S.UBPalace_A6S
5743        AnimationMode   = MANUAL
5744        Flags           = START_FRAME_LAST
5745        TransitionKey   = UP_SNOW
5746        ParticleSysBone = Dust01 BuildingSnowDust
5747        ParticleSysBone = Smoke01 BuildUpSnowSmoke
5748        ParticleSysBone = Smoke02 BuildUpSnowSmoke
5749        ParticleSysBone = Smoke03 BuildUpSnowSmoke
5750        ParticleSysBone = Smoke04 BuildUpSnowSmoke
5751        ParticleSysBone = Smoke05 BuildUpSnowSmoke
5752      End
5753      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
5754        Model           = UBPalace_A6SN
5755        Animation       = UBPalace_A6SN.UBPalace_A6SN
5756        AnimationMode   = MANUAL
5757        Flags           = START_FRAME_LAST
5758        TransitionKey   = UP_SNOWNIGHT
5759        ParticleSysBone = Dust01 BuildingNightSnowDust
5760        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
5761        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
5762        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
5763        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
5764        ParticleSysBone = Smoke05 BuildUpNightSnowSmoke
5765      End
5766      TransitionState   = DOWN_DEFAULT UP_DAY
5767       Model            = UBPalace_A6
5768        Animation       = UBPalace_A6.UBPalace_A6
5769        AnimationMode   = ONCE
5770        AnimationSpeedFactorRange = 1.0 1.0
5771        Flags           = START_FRAME_FIRST
5772      End
5773      TransitionState   = DOWN_DEFAULT UP_NIGHT
5774       Model            = UBPalace_A6N
5775        Animation       = UBPalace_A6N.UBPalace_A6N
5776        AnimationMode   = ONCE
5777        AnimationSpeedFactorRange = 1.0 1.0
5778        Flags           = START_FRAME_FIRST
5779      End
5780      TransitionState   = DOWN_DEFAULT UP_SNOW
5781       Model            = UBPalace_A6S
5782        Animation       = UBPalace_A6S.UBPalace_A6S
5783        AnimationMode   = ONCE
5784        AnimationSpeedFactorRange = 1.0 1.0
5785        Flags           = START_FRAME_FIRST
5786      End
5787      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
5788       Model            = UBPalace_A6SN
5789        Animation       = UBPalace_A6SN.UBPalace_A6SN
5790        AnimationMode   = ONCE
5791        AnimationSpeedFactorRange = 1.0 1.0
5792        Flags           = START_FRAME_FIRST
5793      End
5794      TransitionState   = UP_DAY DOWN_DEFAULT
5795        Model           = UBPalace_A6
5796        Animation       = UBPalace_A6.UBPalace_A6
5797        AnimationMode   = ONCE_BACKWARDS
5798        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5799        Flags           = START_FRAME_LAST
5800      End
5801      TransitionState   = UP_NIGHT DOWN_DEFAULT
5802        Model           = UBPalace_A6N
5803        Animation       = UBPalace_A6N.UBPalace_A6N
5804        AnimationMode   = ONCE_BACKWARDS
5805        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5806        Flags           = START_FRAME_LAST
5807      End
5808      TransitionState   = UP_SNOW DOWN_DEFAULT
5809        Model           = UBPalace_A6S
5810        Animation       = UBPalace_A6S.UBPalace_A6S
5811        AnimationMode   = ONCE_BACKWARDS
5812        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5813        Flags           = START_FRAME_LAST
5814      End
5815      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
5816        Model           = UBPalace_A6SN
5817        Animation       = UBPalace_A6SN.UBPalace_A6SN
5818        AnimationMode   = ONCE_BACKWARDS
5819        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
5820        Flags           = START_FRAME_LAST
5821      End
5822    End
5823    
5824  ; ***DESIGN parameters ***
5825    DisplayName      = OBJECT:Palace
5826    Side = GLAToxinGeneral
5827    EditorSorting    = STRUCTURE
5828    Prerequisites
5829      Object = Chem_GLAArmsDealer
5830    End
5831    BuildCost        = 2500
5832    BuildTime        = 45.0           ; in seconds
5833    EnergyProduction = 0
5834    VisionRange     = 300.0           ; Shroud clearing distance
5835    ShroudClearingRange = 300
5836    ArmorSet
5837      Conditions      = None
5838      Armor           = StructureArmor
5839      DamageFX        = StructureDamageFXNoShake
5840    End
5841    ArmorSet
5842      Conditions        = PLAYER_UPGRADE
5843      Armor             = GLAUpgradedStructureArmor
5844      DamageFX          = StructureDamageFXNoShake
5845    End
5846    CommandSet = Chem_GLAPalaceCommandSet
5847    ExperienceValue     = 300 300 300 300  ; Experience point value at each level
5848  
5849    ; *** AUDIO Parameters ***
5850    VoiceSelect = PalaceSelect
5851    SoundOnDamaged        = BuildingDamagedStateLight
5852    SoundOnReallyDamaged  = BuildingDestroy
5853  
5854    UnitSpecificSounds
5855      UnderConstruction     = UnderConstructionLoop
5856    End
5857  
5858    ; *** ENGINEERING Parameters ***
5859    RadarPriority   = STRUCTURE
5860    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_TECHNOLOGY GARRISONABLE_UNTIL_DESTROYED IMMUNE_TO_CAPTURE MP_COUNT_FOR_VICTORY SCORE_CREATE FS_ADVANCED_TECH
5861    Body            = StructureBody ModuleTag_04
5862      MaxHealth       = 3000.0
5863      InitialHealth   = 3000.0
5864  
5865      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
5866      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
5867      SubdualDamageCap = 3200
5868      SubdualDamageHealRate = 500
5869      SubdualDamageHealAmount = 100
5870    End
5871    
5872    Behavior        = ArmorUpgrade ModuleTag_Armor01
5873      TriggeredBy   = Upgrade_GLAFortifiedStructure
5874    End
5875  
5876    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
5877      ConditionFlag = USER_1
5878      TriggeredBy   = Upgrade_GLAFortifiedStructure
5879    End
5880    
5881    Behavior = ProductionUpdate ModuleTag_05
5882      ; nothing
5883    End
5884  
5885    Behavior             = CreateObjectDie ModuleTag_08
5886      CreationList  = OCL_SmallStructureDebris
5887    End
5888    Behavior             = FXListDie ModuleTag_09
5889      DeathFX       = FX_StructureMediumDeath
5890    End
5891  
5892    Behavior = GarrisonContain ModuleTag_10
5893      ContainMax                    = 5
5894      EnterSound                    = GarrisonEnter
5895      ExitSound                     = GarrisonExit
5896      ImmuneToClearBuildingAttacks  = Yes
5897    End
5898  
5899    Behavior = FlammableUpdate ModuleTag_11
5900      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
5901      AflameDamageAmount = 5       ; taking this much damage...
5902      AflameDamageDelay = 500       ; this often.
5903    End
5904  
5905    Behavior             = RebuildHoleExposeDie ModuleTag_06
5906      HoleName      = GLAHolePalace
5907      HoleMaxHealth = 500.0
5908    End
5909    Behavior = DestroyDie ModuleTag_07
5910      ;nothing
5911    End
5912  
5913    Behavior = TransitionDamageFX ModuleTag_12
5914      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
5915      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
5916      ;---------------------------------------------------------------------------------------
5917      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
5918      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
5919      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
5920    End
5921  
5922    Geometry            = BOX
5923    GeometryMajorRadius = 43.0
5924    GeometryMinorRadius = 58.0
5925    GeometryHeight      = 30.0
5926    GeometryIsSmall     = No
5927    Shadow          = SHADOW_VOLUME
5928    BuildCompletion = PLACED_BY_PLAYER
5929  
5930  End
5931  
5932  ;------------------------------------------------------------------------------
5933  ObjectReskin Chem_GLAHolePalace Chem_GLAHole
5934    Draw                     = W3DModelDraw ModuleTag_01
5935      OkToChangeModelColor   = Yes
5936      ConditionState         = NONE
5937        Model                = UBHole
5938      End
5939      ConditionState         = DAMAGED
5940        Model                = UBHole_D
5941        ParticleSysBone      = Smoke01 SteamVent
5942      End
5943      ConditionState         = REALLYDAMAGED RUBBLE
5944        Model                = UBHole_E
5945        ParticleSysBone      = Smoke01 SteamVent
5946        ParticleSysBone      = Smoke02 SteamVent
5947        ParticleSysBone      = Fire01 GLAPowerPlantFlame
5948        ParticleSysBone      = Fire02 GLAPowerPlantFlame
5949        ParticleSysBone      = Fire03 GLAPowerPlantFlame
5950      End
5951    End
5952    Draw                     = W3DModelDraw ModuleTag_02
5953      OkToChangeModelColor   = Yes
5954      ConditionState         = NONE
5955        Model                = UBPalace_R
5956        ParticleSysBone      = Smoke01 SmolderingSmoke
5957        ParticleSysBone      = Smoke02 SmolderingSmoke
5958        ParticleSysBone      = Flame01 FireBurningBarricade01
5959      End
5960      ConditionState         = DAMAGED REALLYDAMAGED
5961        Model                = UBPalace_R
5962        ParticleSysBone      = Smoke01 SmolderingSmoke
5963      End
5964    End
5965  End
5966  
5967  
5968  
5969  
5970  ;------------------------------------------------------------------------------
5971  Object Chem_GLASupplyStash
5972  
5973    ; *** ART Parameters ***
5974    SelectPortrait         = SUSupplyCenter_L
5975    ButtonImage            = SUSupplyCenter
5976  
5977  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
5978  
5979    Draw = W3DModelDraw ModuleTag_01
5980      OkToChangeModelColor = Yes
5981      ; day
5982      ConditionState = NONE
5983        Model = UBSupply
5984        ParticleSysBone = Smoke01 SteamVent
5985        Animation     = UBSupply.UBSupply
5986        AnimationMode = LOOP
5987      End
5988      ConditionState = DAMAGED
5989        Model = UBSupply_D
5990        ParticleSysBone = Smoke01 SteamVent
5991        Animation     = UBSupply_D.UBSupply_D
5992        AnimationMode = LOOP
5993      End
5994      ConditionState = REALLYDAMAGED RUBBLE
5995        Model = UBSupply_E
5996        ParticleSysBone = Smoke01 SteamVent
5997      End
5998      ConditionState         = GARRISONED
5999        Model                = UBSpplyEG
6000        ParticleSysBone      = Smoke01 SmolderingSmoke
6001        Animation            = UBSpplyEG.UBSpplyEG
6002        AnimationMode        = LOOP
6003      End
6004      ConditionState         = DAMAGED GARRISONED
6005        Model                = UBSpplyEG_D
6006        ParticleSysBone      = Smoke01 SmolderingSmoke
6007        Animation            = UBSpplyEG_D.UBSpplyEG_D
6008        AnimationMode        = LOOP
6009      End
6010      ConditionState         = REALLYDAMAGED GARRISONED
6011        Model                = UBSpplyEG_E
6012        ParticleSysBone      = Smoke01 SmolderingSmoke
6013        Animation            = UBSpplyEG_E.UBSpplyEG_E
6014        AnimationMode        = LOOP
6015      End
6016      
6017      ; SNOW
6018      ConditionState = SNOW
6019        Model = UBSupply_S
6020        ParticleSysBone = Smoke01 SteamVent
6021        Animation     = UBSupply_S.UBSupply_S
6022        AnimationMode = LOOP
6023      End
6024      ConditionState = DAMAGED SNOW
6025        Model = UBSupply_DS
6026        ParticleSysBone = Smoke01 SteamVent
6027        Animation     = UBSupply_DS.UBSupply_DS
6028        AnimationMode = LOOP
6029      End
6030      ConditionState = REALLYDAMAGED RUBBLE SNOW
6031        Model = UBSupply_ES
6032        ParticleSysBone = Smoke01 SteamVent
6033      End
6034      ConditionState         = GARRISONED SNOW
6035        Model                = UBSpplyEG_S
6036        ParticleSysBone      = Smoke01 SmolderingSmoke
6037        Animation            = UBSpplyEG_S.UBSpplyEG_S
6038        AnimationMode        = LOOP
6039      End
6040      ConditionState         = DAMAGED GARRISONED SNOW
6041        Model                = UBSpplyEG_DS
6042        ParticleSysBone      = Smoke01 SmolderingSmoke
6043        Animation            = UBSpplyEG_DS.UBSpplyEG_DS
6044        AnimationMode        = LOOP
6045      End
6046      ConditionState         = REALLYDAMAGED GARRISONED SNOW
6047        Model                = UBSpplyEG_ES
6048        ParticleSysBone      = Smoke01 SmolderingSmoke
6049        Animation            = UBSpplyEG_ES.UBSpplyEG_ES
6050        AnimationMode        = LOOP
6051      End
6052  
6053      ; night
6054      ConditionState = NIGHT
6055        Model = UBSupply_N
6056        Animation     = UBSupply_N.UBSupply_N
6057        AnimationMode = LOOP
6058        ParticleSysBone = Smoke01 SteamVent
6059      End
6060      ConditionState = DAMAGED NIGHT
6061        Model = UBSupply_DN
6062        Animation     = UBSupply_DN.UBSupply_DN
6063        AnimationMode = LOOP
6064        ParticleSysBone = Smoke01 SteamVent
6065        ParticleSysBone = Smoke02 SmolderingSmoke
6066        ParticleSysBone = Smoke03 SmolderingSmoke
6067        ParticleSysBone = Smoke04 SmolderingSmoke
6068        ParticleSysBone = Fire01 SmolderingFire
6069      End
6070      ConditionState = REALLYDAMAGED RUBBLE NIGHT
6071        Model = UBSupply_EN
6072        ParticleSysBone = Smoke01 SteamVent
6073        ParticleSysBone = Smoke02 SmolderingSmoke
6074        ParticleSysBone = Smoke03 SmolderingSmoke
6075        ParticleSysBone = Smoke04 SmolderingSmoke
6076        ParticleSysBone = Smoke05 SmolderingSmoke
6077        ParticleSysBone = Smoke06 SmolderingSmoke
6078        ParticleSysBone = Fire01 SmolderingFire
6079        ParticleSysBone = Fire02 SmolderingFire
6080        ParticleSysBone = Fire03 SmolderingFire
6081      End
6082      ConditionState         = GARRISONED NIGHT
6083        Model                = UBSpplyEG_N
6084        ParticleSysBone      = Smoke01 SmolderingSmoke
6085        Animation            = UBSpplyEG_N.UBSpplyEG_N
6086        AnimationMode        = LOOP
6087      End
6088      ConditionState         = DAMAGED GARRISONED NIGHT
6089        Model                = UBSpplyEG_DN
6090        ParticleSysBone      = Smoke01 SmolderingSmoke
6091        Animation            = UBSpplyEG_DN.UBSpplyEG_DN
6092        AnimationMode        = LOOP
6093      End
6094      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
6095        Model                = UBSpplyEG_EN
6096        ParticleSysBone      = Smoke01 SmolderingSmoke
6097        Animation            = UBSpplyEG_EN.UBSpplyEG_EN
6098        AnimationMode        = LOOP
6099      End
6100       
6101      ; night snow
6102      ConditionState = NIGHT SNOW
6103        Model = UBSupply_NS
6104        Animation     = UBSupply_NS.UBSupply_NS
6105        AnimationMode = LOOP
6106        ParticleSysBone = Smoke01 SteamVent
6107      End
6108      ConditionState = DAMAGED NIGHT SNOW
6109        Model = UBSupply_DNS
6110        Animation     = UBSupply_DNS.UBSupply_DNS
6111        AnimationMode = LOOP
6112        ParticleSysBone = Smoke01 SteamVent
6113        ParticleSysBone = Smoke02 SmolderingSmoke
6114        ParticleSysBone = Smoke03 SmolderingSmoke
6115        ParticleSysBone = Smoke04 SmolderingSmoke
6116        ParticleSysBone = Fire01 SmolderingFire
6117      End
6118      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
6119        Model = UBSupply_ENS
6120        ParticleSysBone = Smoke01 SteamVent
6121        ParticleSysBone = Smoke02 SmolderingSmoke
6122        ParticleSysBone = Smoke03 SmolderingSmoke
6123        ParticleSysBone = Smoke04 SmolderingSmoke
6124        ParticleSysBone = Smoke05 SmolderingSmoke
6125        ParticleSysBone = Smoke06 SmolderingSmoke
6126        ParticleSysBone = Fire01 SmolderingFire
6127        ParticleSysBone = Fire02 SmolderingFire
6128        ParticleSysBone = Fire03 SmolderingFire
6129      End
6130      ConditionState         = GARRISONED SNOW NIGHT
6131        Model                = UBSpplyEG_NS
6132        ParticleSysBone      = Smoke01 SmolderingSmoke
6133        Animation            = UBSpplyEG_NS.UBSpplyEG_NS
6134        AnimationMode        = LOOP
6135      End
6136      ConditionState         = DAMAGED GARRISONED SNOW NIGHT
6137        Model                = UBSpplyEG_DNS
6138        ParticleSysBone      = Smoke01 SmolderingSmoke
6139        Animation            = UBSpplyEG_DNS.UBSpplyEG_DNS
6140        AnimationMode        = LOOP
6141      End
6142      ConditionState         = REALLYDAMAGED GARRISONED SNOW NIGHT
6143        Model                = UBSpplyEG_ENS
6144        ParticleSysBone      = Smoke01 SmolderingSmoke
6145        Animation            = UBSpplyEG_ENS.UBSpplyEG_ENS
6146        AnimationMode        = LOOP
6147      End
6148  
6149          ;**************************************************************************************************************************
6150      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
6151      ;for this draw module
6152      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6153        Model              = UBSupply
6154        Animation          = UBSupply.UBSupply
6155        AnimationMode      = LOOP
6156        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6157      End
6158      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
6159        Model              = UBSupply_D
6160        Animation          = UBSupply_D.UBSupply_D
6161        AnimationMode      = LOOP
6162        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6163      End
6164      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
6165        Model              = UBSupply_E
6166        ;Animation          = UBSupply_E.UBSupply_E
6167        ;AnimationMode      = LOOP
6168        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6169      End
6170      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
6171        Model              = UBSupply_N
6172        Animation          = UBSupply_N.UBSupply_N
6173        AnimationMode      = LOOP
6174        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6175      End
6176      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
6177        Model              = UBSupply_DN
6178        Animation          = UBSupply_DN.UBSupply_DN
6179        AnimationMode      = LOOP
6180        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6181      End
6182      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
6183        Model              = UBSupply_EN
6184        ;Animation          = UBSupply_EN.UBSupply_EN
6185        ;AnimationMode      = LOOP
6186        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6187      End
6188      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
6189        Model              = UBSupply_S
6190        Animation          = UBSupply_S.UBSupply_S
6191        AnimationMode      = LOOP
6192        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6193      End
6194      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
6195        Model              = UBSupply_DS
6196        Animation          = UBSupply_DS.UBSupply_DS
6197        AnimationMode      = LOOP
6198        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6199      End
6200      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
6201        Model              = UBSupply_ES
6202        ;Animation          = UBSupply_ES.UBSupply_ES
6203        ;AnimationMode      = LOOP
6204        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6205      End
6206      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
6207        Model              = UBSupply_NS
6208        Animation          = UBSupply_NS.UBSupply_NS
6209        AnimationMode      = LOOP
6210        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6211      End
6212      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
6213        Model              = UBSupply_DNS
6214        Animation          = UBSupply_DNS.UBSupply_DNS
6215        AnimationMode      = LOOP
6216        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6217      End
6218      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
6219        Model              = UBSupply_ENS
6220        ;Animation          = UBSupply_ENS.UBSupply_ENS
6221        ;AnimationMode      = LOOP
6222        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6223      End
6224  
6225      ConditionState       = AWAITING_CONSTRUCTION 
6226        Model              = NONE
6227      End
6228      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
6229      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
6230      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
6231      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
6232      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
6233      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
6234      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
6235      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
6236      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
6237      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
6238      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
6239      AliasConditionState  = SOLD 
6240      AliasConditionState  = SOLD DAMAGED
6241      AliasConditionState  = SOLD REALLYDAMAGED
6242      AliasConditionState  = SOLD NIGHT
6243      AliasConditionState  = SOLD NIGHT DAMAGED
6244      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
6245      AliasConditionState  = SOLD SNOW
6246      AliasConditionState  = SOLD SNOW DAMAGED
6247      AliasConditionState  = SOLD SNOW REALLYDAMAGED
6248      AliasConditionState  = SOLD NIGHT SNOW
6249      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
6250      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
6251      AliasConditionState  = GARRISONED SOLD 
6252      AliasConditionState  = GARRISONED SOLD DAMAGED
6253      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
6254      AliasConditionState  = GARRISONED SOLD NIGHT
6255      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
6256      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
6257      AliasConditionState  = GARRISONED SOLD SNOW
6258      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
6259      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
6260      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
6261      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
6262      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
6263      ;**************************************************************************************************************************
6264  
6265    End
6266  
6267     ; ------------ construction-zone fence -----------------
6268    Draw = W3DModelDraw ModuleTag_02
6269    AnimationsRequirePower = No
6270      DefaultConditionState
6271        Model           = None
6272        TransitionKey   = DOWN_DEFAULT
6273      End
6274      ConditionState    = NIGHT
6275        Model           = None
6276        TransitionKey   = DOWN_DEFAULT
6277      End
6278      ConditionState    = SNOW
6279        Model           = None
6280        TransitionKey   = DOWN_DEFAULT
6281      End
6282      ConditionState    = SNOW NIGHT
6283        Model           = None
6284        TransitionKey   = DOWN_DEFAULT
6285      End
6286      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6287        Model           = UBSupply_A4
6288        Animation       = UBSupply_A4.UBSupply_A4
6289        AnimationMode   = MANUAL
6290        Flags           = START_FRAME_LAST
6291        TransitionKey   = UP_DAY
6292      End
6293      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6294        Model           = UBSupply_A4N
6295        Animation       = UBSupply_A4N.UBSupply_A4N
6296        AnimationMode   = MANUAL
6297        Flags           = START_FRAME_LAST
6298        TransitionKey   = UP_NIGHT
6299      End
6300      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6301        Model           = UBSupply_A4S
6302        Animation       = UBSupply_A4S.UBSupply_A4S
6303        AnimationMode   = MANUAL
6304        Flags           = START_FRAME_LAST
6305        TransitionKey   = UP_SNOW
6306      End
6307      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6308        Model           = UBSupply_A4SN
6309        Animation       = UBSupply_A4SN.UBSupply_A4SN
6310        AnimationMode   = MANUAL
6311        Flags           = START_FRAME_LAST
6312        TransitionKey   = UP_SNOWNIGHT
6313      End
6314      TransitionState   = DOWN_DEFAULT UP_DAY
6315        Model           = UBSupply_A4
6316        Animation       = UBSupply_A4.UBSupply_A4
6317        AnimationMode   = ONCE
6318        AnimationSpeedFactorRange = 1.0 1.0
6319        Flags           = START_FRAME_FIRST
6320      End
6321      TransitionState   = DOWN_DEFAULT UP_NIGHT
6322        Model           = UBSupply_A4N
6323        Animation       = UBSupply_A4N.UBSupply_A4N
6324        AnimationMode   = ONCE
6325        AnimationSpeedFactorRange = 1.0 1.0
6326        Flags           = START_FRAME_FIRST
6327      End
6328      TransitionState   = DOWN_DEFAULT UP_SNOW
6329        Model           = UBSupply_A4S
6330        Animation       = UBSupply_A4S.UBSupply_A4S
6331        AnimationMode   = ONCE
6332        AnimationSpeedFactorRange = 1.0 1.0
6333        Flags           = START_FRAME_FIRST
6334      End
6335      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
6336        Model           = UBSupply_A4SN
6337        Animation       = UBSupply_A4SN.UBSupply_A4SN
6338        AnimationMode   = ONCE
6339        AnimationSpeedFactorRange = 1.0 1.0
6340        Flags           = START_FRAME_FIRST
6341      End
6342      TransitionState   = UP_DAY DOWN_DEFAULT
6343        Model           = UBSupply_A4
6344        Animation       = UBSupply_A4.UBSupply_A4
6345        AnimationMode   = ONCE_BACKWARDS
6346        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6347        Flags           = START_FRAME_LAST
6348      End
6349      TransitionState   = UP_NIGHT DOWN_DEFAULT
6350        Model           = UBSupply_A4N
6351        Animation       = UBSupply_A4N.UBSupply_A4N
6352        AnimationMode   = ONCE_BACKWARDS
6353        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6354        Flags           = START_FRAME_LAST
6355      End
6356      TransitionState   = UP_SNOW DOWN_DEFAULT
6357        Model           = UBSupply_A4S
6358        Animation       = UBSupply_A4S.UBSupply_A4S
6359        AnimationMode   = ONCE_BACKWARDS
6360        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6361        Flags           = START_FRAME_LAST
6362      End
6363      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
6364        Model           = UBSupply_A4SN
6365        Animation       = UBSupply_A4SN.UBSupply_A4SN
6366        AnimationMode   = ONCE_BACKWARDS
6367        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6368        Flags           = START_FRAME_LAST
6369      End
6370    End
6371  
6372    ; ------------ under-construction scaffolding -----------------
6373    Draw = W3DModelDraw ModuleTag_03
6374    AnimationsRequirePower = No
6375      MinLODRequired = MEDIUM
6376      DefaultConditionState
6377        Model           = None
6378        TransitionKey   = DOWN_DEFAULT
6379      End
6380      ConditionState    = NIGHT
6381        Model           = None
6382        TransitionKey   = DOWN_DEFAULT
6383      End
6384      ConditionState    = SNOW
6385        Model           = None
6386        TransitionKey   = DOWN_DEFAULT
6387      End
6388      ConditionState    = SNOW NIGHT
6389        Model           = None
6390        TransitionKey   = DOWN_DEFAULT
6391      End
6392      ConditionState    = PARTIALLY_CONSTRUCTED
6393        Model           = UBSupply_A6
6394        Animation       = UBSupply_A6.UBSupply_A6
6395        AnimationMode   = MANUAL
6396        Flags           = START_FRAME_LAST
6397        TransitionKey   = UP_DAY
6398        ParticleSysBone = Dust01 BuildingDust
6399        ParticleSysBone = Smoke01 BuildUpSmoke
6400        ParticleSysBone = Smoke02 BuildUpSmoke
6401        ParticleSysBone = Smoke03 BuildUpSmoke
6402        ParticleSysBone = Smoke04 BuildUpSmoke
6403      End
6404      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
6405        Model           = UBSupply_A6N
6406        Animation       = UBSupply_A6N.UBSupply_A6N
6407        AnimationMode   = MANUAL
6408        Flags           = START_FRAME_LAST
6409        TransitionKey   = UP_NIGHT
6410        ParticleSysBone = Dust01 BuildingDust
6411        ParticleSysBone = Smoke01 BuildUpSmoke
6412        ParticleSysBone = Smoke02 BuildUpSmoke
6413        ParticleSysBone = Smoke03 BuildUpSmoke
6414        ParticleSysBone = Smoke04 BuildUpSmoke
6415      End
6416      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
6417        Model           = UBSupply_A6S
6418        Animation       = UBSupply_A6S.UBSupply_A6S
6419        AnimationMode   = MANUAL
6420        Flags           = START_FRAME_LAST
6421        TransitionKey   = UP_SNOW
6422        ParticleSysBone = Dust01 BuildingSnowDust
6423        ParticleSysBone = Smoke01 BuildUpSnowSmoke
6424        ParticleSysBone = Smoke02 BuildUpSnowSmoke
6425        ParticleSysBone = Smoke03 BuildUpSnowSmoke
6426        ParticleSysBone = Smoke04 BuildUpSnowSmoke
6427      End
6428      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
6429        Model           = UBSupply_A6SN
6430        Animation       = UBSupply_A6SN.UBSupply_A6SN
6431        AnimationMode   = MANUAL
6432        Flags           = START_FRAME_LAST
6433        TransitionKey   = UP_SNOWNIGHT
6434        ParticleSysBone = Dust01 BuildingNightSnowDust
6435        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
6436        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
6437        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
6438        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
6439      End
6440      TransitionState   = DOWN_DEFAULT UP_DAY
6441       Model            = UBSupply_A6
6442        Animation       = UBSupply_A6.UBSupply_A6
6443        AnimationMode   = ONCE
6444        AnimationSpeedFactorRange = 1.0 1.0
6445        Flags           = START_FRAME_FIRST
6446      End
6447      TransitionState   = DOWN_DEFAULT UP_NIGHT
6448       Model            = UBSupply_A6N
6449        Animation       = UBSupply_A6N.UBSupply_A6N
6450        AnimationMode   = ONCE
6451        AnimationSpeedFactorRange = 1.0 1.0
6452        Flags           = START_FRAME_FIRST
6453      End
6454      TransitionState   = DOWN_DEFAULT UP_SNOW
6455       Model            = UBSupply_A6S
6456        Animation       = UBSupply_A6S.UBSupply_A6S
6457        AnimationMode   = ONCE
6458        AnimationSpeedFactorRange = 1.0 1.0
6459        Flags           = START_FRAME_FIRST
6460      End
6461      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
6462       Model            = UBSupply_A6SN
6463        Animation       = UBSupply_A6SN.UBSupply_A6SN
6464        AnimationMode   = ONCE
6465        AnimationSpeedFactorRange = 1.0 1.0
6466        Flags           = START_FRAME_FIRST
6467      End
6468      TransitionState   = UP_DAY DOWN_DEFAULT
6469        Model           = UBSupply_A6
6470        Animation       = UBSupply_A6.UBSupply_A6
6471        AnimationMode   = ONCE_BACKWARDS
6472        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6473        Flags           = START_FRAME_LAST
6474      End
6475      TransitionState   = UP_NIGHT DOWN_DEFAULT
6476        Model           = UBSupply_A6N
6477        Animation       = UBSupply_A6N.UBSupply_A6N
6478        AnimationMode   = ONCE_BACKWARDS
6479        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6480        Flags           = START_FRAME_LAST
6481  
6482      End
6483      TransitionState   = UP_SNOW DOWN_DEFAULT
6484        Model           = UBSupply_A6S
6485        Animation       = UBSupply_A6S.UBSupply_A6S
6486        AnimationMode   = ONCE_BACKWARDS
6487        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6488        Flags           = START_FRAME_LAST
6489      End
6490      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
6491        Model           = UBSupply_A6SN
6492        Animation       = UBSupply_A6SN.UBSupply_A6SN
6493        AnimationMode   = ONCE_BACKWARDS
6494        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
6495        Flags           = START_FRAME_LAST
6496      End
6497    End
6498  
6499    PlacementViewAngle = -45
6500  
6501    ; ***DESIGN parameters ***
6502    DisplayName         = OBJECT:SupplyStash
6503    Side                = GLAToxinGeneral
6504    EditorSorting       = STRUCTURE
6505    BuildCost           = 1500
6506    RefundValue         = 650 ; With nothing (or zero) listed, we sell for half price. 
6507    BuildTime           = 10.0           ; in seconds
6508    EnergyProduction    = 0
6509    CommandSet          = Chem_GLASupplyStashCommandSet
6510    VisionRange         = 200.0           ; Shroud clearing distance
6511    ShroudClearingRange = 200
6512    ArmorSet
6513      Conditions        = None
6514      Armor             = StructureArmor
6515      DamageFX          = StructureDamageFXNoShake
6516    End
6517    ArmorSet
6518      Conditions        = PLAYER_UPGRADE
6519      Armor             = GLAUpgradedStructureArmor
6520      DamageFX          = StructureDamageFXNoShake
6521    End
6522    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
6523  
6524    ; *** AUDIO Parameters ***
6525    VoiceSelect = SupplyCenterGLASelect
6526    SoundOnDamaged        = BuildingDamagedStateLight
6527    SoundOnReallyDamaged  = BuildingDestroy
6528  
6529    UnitSpecificSounds
6530      UnderConstruction     = UnderConstructionLoop
6531    End
6532  
6533    ; *** ENGINEERING Parameters ***
6534    RadarPriority       = STRUCTURE
6535    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE CASH_GENERATOR CAPTURABLE AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE CANNOT_BUILD_NEAR_SUPPLIES FS_SUPPLY_CENTER
6536    Body                = StructureBody ModuleTag_04
6537      MaxHealth       = 2000.0
6538      InitialHealth   = 2000.0
6539  
6540      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
6541      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
6542      SubdualDamageCap = 2200
6543      SubdualDamageHealRate = 500
6544      SubdualDamageHealAmount = 100
6545    End
6546  
6547    Behavior        = ArmorUpgrade ModuleTag_Armor01
6548      TriggeredBy   = Upgrade_GLAFortifiedStructure
6549    End
6550  
6551    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
6552      ConditionFlag = GARRISONED
6553      TriggeredBy   = Upgrade_GLAFortifiedStructure
6554    End
6555  
6556    Behavior = SupplyCenterCreate ModuleTag_05
6557      ;nothing
6558    End
6559  
6560    Behavior             = RebuildHoleExposeDie ModuleTag_06
6561      HoleName      = GLAHoleSupplyStash
6562      HoleMaxHealth = 500.0
6563    End 
6564    Behavior = DestroyDie ModuleTag_07
6565      ;nothing
6566    End
6567    Behavior                 = CreateObjectDie ModuleTag_08
6568      CreationList      = OCL_SmallStructureDebris
6569    End
6570    Behavior                 = FXListDie ModuleTag_09
6571      DeathFX           = FX_StructureSmallDeath
6572    End
6573    Behavior = ProductionUpdate ModuleTag_10
6574      ; nothing
6575    End
6576    Behavior = SupplyCenterProductionExitUpdate ModuleTag_11
6577      UnitCreatePoint   = X:  0.0  Y:  0.0   Z:0.0
6578      NaturalRallyPoint = X: 36.0  Y:  0.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
6579    End
6580  
6581    Behavior            = SpawnBehavior ModuleTag_12
6582      SpawnNumber       = 1
6583      SpawnReplaceDelay = 9999
6584      SpawnTemplateName = Chem_GLAInfantryWorker
6585      OneShot           = Yes
6586      CanReclaimOrphans = No
6587      SlavesHaveFreeWill = Yes
6588    End
6589  
6590    Behavior = SupplyCenterDockUpdate ModuleTag_13
6591      AllowsPassthrough = No ;You can't drive through this guy while docking.  Use this when the dock points are all outside
6592      NumberApproachPositions = -1 ; This is a Boneless dock, so this means infinite can approach
6593    End
6594  
6595    Behavior = FlammableUpdate ModuleTag_15
6596      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
6597      AflameDamageAmount = 5       ; taking this much damage...
6598      AflameDamageDelay = 500       ; this often.
6599    End
6600  
6601    Behavior = TransitionDamageFX ModuleTag_16
6602      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
6603      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
6604      ;---------------------------------------------------------------------------------------
6605      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
6606      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
6607      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
6608    End
6609  
6610    ;Dont forget to edit the GLA Hole geometry for this object too
6611    Geometry            = BOX
6612    GeometryMajorRadius = 36.0
6613    GeometryMinorRadius = 35.0
6614    GeometryHeight      = 30.0
6615    GeometryIsSmall     = No
6616    ;FactoryExtraBibWidth= 1.0     ; extra placement border.
6617    Shadow              = SHADOW_VOLUME
6618    BuildCompletion     = PLACED_BY_PLAYER
6619  
6620  End
6621  
6622  ;------------------------------------------------------------------------------
6623  ObjectReskin Chem_GLAHoleSupplyStash Chem_GLAHole
6624    Draw                     = W3DModelDraw ModuleTag_01
6625      OkToChangeModelColor   = Yes
6626      ConditionState         = NONE
6627        Model                = UBHole
6628      End
6629      ConditionState         = DAMAGED
6630        Model                = UBHole_D
6631        ParticleSysBone      = Smoke01 SteamVent
6632      End
6633      ConditionState         = REALLYDAMAGED RUBBLE
6634        Model                = UBHole_E
6635        ParticleSysBone      = Smoke01 SteamVent
6636        ParticleSysBone      = Smoke02 SteamVent
6637        ParticleSysBone      = Fire01 GLAPowerPlantFlame
6638        ParticleSysBone      = Fire02 GLAPowerPlantFlame
6639        ParticleSysBone      = Fire03 GLAPowerPlantFlame
6640      End
6641    End
6642    Draw                     = W3DModelDraw ModuleTag_02
6643      OkToChangeModelColor   = Yes
6644      ConditionState         = NONE
6645        Model                = UBSupply_R
6646        ParticleSysBone      = Smoke02 SmolderingSmoke
6647        ParticleSysBone      = Smoke03 SmolderingSmoke
6648        ParticleSysBone      = Smoke04 SmolderingSmoke
6649        ParticleSysBone      = Smoke05 SmolderingSmoke
6650        ParticleSysBone      = Smoke06 SmolderingSmoke
6651      End
6652      ConditionState         = DAMAGED REALLYDAMAGED RUBBLE
6653        Model                = UBSupply_R
6654        ParticleSysBone      = Smoke02 SmolderingSmoke
6655        ParticleSysBone      = Smoke03 SmolderingSmoke
6656        ParticleSysBone      = Smoke04 SmolderingSmoke
6657        ParticleSysBone      = Smoke05 SmolderingSmoke
6658        ParticleSysBone      = Smoke06 SmolderingSmoke
6659      End
6660    End
6661  End
6662  
6663  ;------------------------------------------------------------------------------
6664  Object Chem_FakeGLASupplyStash
6665  
6666    ; *** ART Parameters ***
6667    SelectPortrait         = SUSupplyCenter_L
6668    ButtonImage            = SUSupplyCenter
6669  
6670  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
6671  
6672    Draw = W3DModelDraw ModuleTag_01
6673      OkToChangeModelColor = Yes
6674      ; day
6675      ConditionState = NONE
6676        Model = UBSupply
6677        ParticleSysBone = Smoke01 SteamVent
6678        Animation     = UBSupply.UBSupply
6679        AnimationMode = LOOP
6680      End
6681      ConditionState = DAMAGED
6682        Model = UBSupply_D
6683        ParticleSysBone = Smoke01 SteamVent
6684        Animation     = UBSupply_D.UBSupply_D
6685        AnimationMode = LOOP
6686      End
6687      ConditionState = REALLYDAMAGED RUBBLE
6688        Model = UBSupply_E
6689        ParticleSysBone = Smoke01 SteamVent
6690      End
6691      ConditionState         = GARRISONED
6692        Model                = UBSpplyEG
6693        ParticleSysBone      = Smoke01 SmolderingSmoke
6694        Animation            = UBSpplyEG.UBSpplyEG
6695        AnimationMode        = LOOP
6696      End
6697      ConditionState         = DAMAGED GARRISONED
6698        Model                = UBSpplyEG_D
6699        ParticleSysBone      = Smoke01 SmolderingSmoke
6700        Animation            = UBSpplyEG_D.UBSpplyEG_D
6701        AnimationMode        = LOOP
6702      End
6703      ConditionState         = REALLYDAMAGED GARRISONED
6704        Model                = UBSpplyEG_E
6705        ParticleSysBone      = Smoke01 SmolderingSmoke
6706        Animation            = UBSpplyEG_E.UBSpplyEG_E
6707        AnimationMode        = LOOP
6708      End
6709      
6710      ; SNOW
6711      ConditionState = SNOW
6712        Model = UBSupply_S
6713        ParticleSysBone = Smoke01 SteamVent
6714        Animation     = UBSupply_S.UBSupply_S
6715        AnimationMode = LOOP
6716      End
6717      ConditionState = DAMAGED SNOW
6718        Model = UBSupply_DS
6719        ParticleSysBone = Smoke01 SteamVent
6720        Animation     = UBSupply_DS.UBSupply_DS
6721        AnimationMode = LOOP
6722      End
6723      ConditionState = REALLYDAMAGED RUBBLE SNOW
6724        Model = UBSupply_ES
6725        ParticleSysBone = Smoke01 SteamVent
6726      End
6727      ConditionState         = GARRISONED SNOW
6728        Model                = UBSpplyEG_S
6729        ParticleSysBone      = Smoke01 SmolderingSmoke
6730        Animation            = UBSpplyEG_S.UBSpplyEG_S
6731        AnimationMode        = LOOP
6732      End
6733      ConditionState         = DAMAGED GARRISONED SNOW
6734        Model                = UBSpplyEG_DS
6735        ParticleSysBone      = Smoke01 SmolderingSmoke
6736        Animation            = UBSpplyEG_DS.UBSpplyEG_DS
6737        AnimationMode        = LOOP
6738      End
6739      ConditionState         = REALLYDAMAGED GARRISONED SNOW
6740        Model                = UBSpplyEG_ES
6741        ParticleSysBone      = Smoke01 SmolderingSmoke
6742        Animation            = UBSpplyEG_ES.UBSpplyEG_ES
6743        AnimationMode        = LOOP
6744      End
6745  
6746      ; night
6747      ConditionState = NIGHT
6748        Model = UBSupply_N
6749        Animation     = UBSupply_N.UBSupply_N
6750        AnimationMode = LOOP
6751        ParticleSysBone = Smoke01 SteamVent
6752      End
6753      ConditionState = DAMAGED NIGHT
6754        Model = UBSupply_DN
6755        Animation     = UBSupply_DN.UBSupply_DN
6756        AnimationMode = LOOP
6757        ParticleSysBone = Smoke01 SteamVent
6758        ParticleSysBone = Smoke02 SmolderingSmoke
6759        ParticleSysBone = Smoke03 SmolderingSmoke
6760        ParticleSysBone = Smoke04 SmolderingSmoke
6761        ParticleSysBone = Fire01 SmolderingFire
6762      End
6763      ConditionState = REALLYDAMAGED RUBBLE NIGHT
6764        Model = UBSupply_EN
6765        ParticleSysBone = Smoke01 SteamVent
6766        ParticleSysBone = Smoke02 SmolderingSmoke
6767        ParticleSysBone = Smoke03 SmolderingSmoke
6768        ParticleSysBone = Smoke04 SmolderingSmoke
6769        ParticleSysBone = Smoke05 SmolderingSmoke
6770        ParticleSysBone = Smoke06 SmolderingSmoke
6771        ParticleSysBone = Fire01 SmolderingFire
6772        ParticleSysBone = Fire02 SmolderingFire
6773        ParticleSysBone = Fire03 SmolderingFire
6774      End
6775      ConditionState         = GARRISONED NIGHT
6776        Model                = UBSpplyEG_N
6777        ParticleSysBone      = Smoke01 SmolderingSmoke
6778        Animation            = UBSpplyEG_N.UBSpplyEG_N
6779        AnimationMode        = LOOP
6780      End
6781      ConditionState         = DAMAGED GARRISONED NIGHT
6782        Model                = UBSpplyEG_DN
6783        ParticleSysBone      = Smoke01 SmolderingSmoke
6784        Animation            = UBSpplyEG_DN.UBSpplyEG_DN
6785        AnimationMode        = LOOP
6786      End
6787      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
6788        Model                = UBSpplyEG_EN
6789        ParticleSysBone      = Smoke01 SmolderingSmoke
6790        Animation            = UBSpplyEG_EN.UBSpplyEG_EN
6791        AnimationMode        = LOOP
6792      End
6793       
6794      ; night snow
6795      ConditionState = NIGHT SNOW
6796        Model = UBSupply_NS
6797        Animation     = UBSupply_NS.UBSupply_NS
6798        AnimationMode = LOOP
6799        ParticleSysBone = Smoke01 SteamVent
6800      End
6801      ConditionState = DAMAGED NIGHT SNOW
6802        Model = UBSupply_DNS
6803        Animation     = UBSupply_DNS.UBSupply_DNS
6804        AnimationMode = LOOP
6805        ParticleSysBone = Smoke01 SteamVent
6806        ParticleSysBone = Smoke02 SmolderingSmoke
6807        ParticleSysBone = Smoke03 SmolderingSmoke
6808        ParticleSysBone = Smoke04 SmolderingSmoke
6809        ParticleSysBone = Fire01 SmolderingFire
6810      End
6811      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
6812        Model = UBSupply_ENS
6813        ParticleSysBone = Smoke01 SteamVent
6814        ParticleSysBone = Smoke02 SmolderingSmoke
6815        ParticleSysBone = Smoke03 SmolderingSmoke
6816        ParticleSysBone = Smoke04 SmolderingSmoke
6817        ParticleSysBone = Smoke05 SmolderingSmoke
6818        ParticleSysBone = Smoke06 SmolderingSmoke
6819        ParticleSysBone = Fire01 SmolderingFire
6820        ParticleSysBone = Fire02 SmolderingFire
6821        ParticleSysBone = Fire03 SmolderingFire
6822      End
6823      ConditionState         = GARRISONED SNOW NIGHT
6824        Model                = UBSpplyEG_NS
6825        ParticleSysBone      = Smoke01 SmolderingSmoke
6826        Animation            = UBSpplyEG_S.UBSpplyEG_S
6827        AnimationMode        = LOOP
6828      End
6829      ConditionState         = DAMAGED GARRISONED SNOW NIGHT
6830        Model                = UBSpplyEG_DNS
6831        ParticleSysBone      = Smoke01 SmolderingSmoke
6832        Animation            = UBSpplyEG_DNS.UBSpplyEG_DNS
6833        AnimationMode        = LOOP
6834      End
6835      ConditionState         = REALLYDAMAGED GARRISONED SNOW NIGHT
6836        Model                = UBSpplyEG_ENS
6837        ParticleSysBone      = Smoke01 SmolderingSmoke
6838        Animation            = UBSpplyEG_ENS.UBSpplyEG_ENS
6839        AnimationMode        = LOOP
6840      End
6841  
6842          ;**************************************************************************************************************************
6843      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
6844      ;for this draw module
6845      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6846        Model              = UBSupply
6847        Animation          = UBSupply.UBSupply
6848        AnimationMode      = LOOP
6849        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6850      End
6851      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
6852        Model              = UBSupply_D
6853        Animation          = UBSupply_D.UBSupply_D
6854        AnimationMode      = LOOP
6855        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6856      End
6857      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
6858        Model              = UBSupply_E
6859        ;Animation          = UBSupply_E.UBSupply_E
6860        ;AnimationMode      = LOOP
6861        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6862      End
6863      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
6864        Model              = UBSupply_N
6865        Animation          = UBSupply_N.UBSupply_N
6866        AnimationMode      = LOOP
6867        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6868      End
6869      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
6870        Model              = UBSupply_DN
6871        Animation          = UBSupply_DN.UBSupply_DN
6872        AnimationMode      = LOOP
6873        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6874      End
6875      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
6876        Model              = UBSupply_EN
6877        ;Animation          = UBSupply_EN.UBSupply_EN
6878        ;AnimationMode      = LOOP
6879        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6880      End
6881      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
6882        Model              = UBSupply_S
6883        Animation          = UBSupply_S.UBSupply_S
6884        AnimationMode      = LOOP
6885        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6886      End
6887      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
6888        Model              = UBSupply_DS
6889        Animation          = UBSupply_DS.UBSupply_DS
6890        AnimationMode      = LOOP
6891        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6892      End
6893      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
6894        Model              = UBSupply_ES
6895        ;Animation          = UBSupply_ES.UBSupply_ES
6896        ;AnimationMode      = LOOP
6897        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6898      End
6899      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
6900        Model              = UBSupply_NS
6901        Animation          = UBSupply_NS.UBSupply_NS
6902        AnimationMode      = LOOP
6903        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6904      End
6905      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
6906        Model              = UBSupply_DNS
6907        Animation          = UBSupply_DNS.UBSupply_DNS
6908        AnimationMode      = LOOP
6909        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6910      End
6911      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
6912        Model              = UBSupply_ENS
6913        ;Animation          = UBSupply_ENS.UBSupply_ENS
6914        ;AnimationMode      = LOOP
6915        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
6916      End
6917  
6918      ConditionState       = AWAITING_CONSTRUCTION 
6919        Model              = NONE
6920      End
6921      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
6922      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
6923      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
6924      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
6925      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
6926      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
6927      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
6928      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
6929      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
6930      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
6931      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
6932      AliasConditionState  = SOLD 
6933      AliasConditionState  = SOLD DAMAGED
6934      AliasConditionState  = SOLD REALLYDAMAGED
6935      AliasConditionState  = SOLD NIGHT
6936      AliasConditionState  = SOLD NIGHT DAMAGED
6937      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
6938      AliasConditionState  = SOLD SNOW
6939      AliasConditionState  = SOLD SNOW DAMAGED
6940      AliasConditionState  = SOLD SNOW REALLYDAMAGED
6941      AliasConditionState  = SOLD NIGHT SNOW
6942      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
6943      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
6944      AliasConditionState  = GARRISONED SOLD 
6945      AliasConditionState  = GARRISONED SOLD DAMAGED
6946      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
6947      AliasConditionState  = GARRISONED SOLD NIGHT
6948      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
6949      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
6950      AliasConditionState  = GARRISONED SOLD SNOW
6951      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
6952      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
6953      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
6954      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
6955      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
6956      ;**************************************************************************************************************************
6957  
6958    End
6959  
6960     ; ------------ construction-zone fence -----------------
6961    Draw = W3DModelDraw ModuleTag_02
6962    AnimationsRequirePower = No
6963      DefaultConditionState
6964        Model           = None
6965        TransitionKey   = DOWN_DEFAULT
6966      End
6967      ConditionState    = NIGHT
6968        Model           = None
6969        TransitionKey   = DOWN_DEFAULT
6970      End
6971      ConditionState    = SNOW
6972        Model           = None
6973        TransitionKey   = DOWN_DEFAULT
6974      End
6975      ConditionState    = SNOW NIGHT
6976        Model           = None
6977        TransitionKey   = DOWN_DEFAULT
6978      End
6979      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6980        Model           = UBSupply_A4
6981        Animation       = UBSupply_A4.UBSupply_A4
6982        AnimationMode   = MANUAL
6983        Flags           = START_FRAME_LAST
6984        TransitionKey   = UP_DAY
6985      End
6986      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6987        Model           = UBSupply_A4N
6988        Animation       = UBSupply_A4N.UBSupply_A4N
6989        AnimationMode   = MANUAL
6990        Flags           = START_FRAME_LAST
6991        TransitionKey   = UP_NIGHT
6992      End
6993      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
6994        Model           = UBSupply_A4S
6995        Animation       = UBSupply_A4S.UBSupply_A4S
6996        AnimationMode   = MANUAL
6997        Flags           = START_FRAME_LAST
6998        TransitionKey   = UP_SNOW
6999      End
7000      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7001        Model           = UBSupply_A4SN
7002        Animation       = UBSupply_A4SN.UBSupply_A4SN
7003        AnimationMode   = MANUAL
7004        Flags           = START_FRAME_LAST
7005        TransitionKey   = UP_SNOWNIGHT
7006      End
7007      TransitionState   = DOWN_DEFAULT UP_DAY
7008        Model           = UBSupply_A4
7009        Animation       = UBSupply_A4.UBSupply_A4
7010        AnimationMode   = ONCE
7011        AnimationSpeedFactorRange = 1.0 1.0
7012        Flags           = START_FRAME_FIRST
7013      End
7014      TransitionState   = DOWN_DEFAULT UP_NIGHT
7015        Model           = UBSupply_A4N
7016        Animation       = UBSupply_A4N.UBSupply_A4N
7017        AnimationMode   = ONCE
7018        AnimationSpeedFactorRange = 1.0 1.0
7019        Flags           = START_FRAME_FIRST
7020      End
7021      TransitionState   = DOWN_DEFAULT UP_SNOW
7022        Model           = UBSupply_A4S
7023        Animation       = UBSupply_A4S.UBSupply_A4S
7024        AnimationMode   = ONCE
7025        AnimationSpeedFactorRange = 1.0 1.0
7026        Flags           = START_FRAME_FIRST
7027      End
7028      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7029        Model           = UBSupply_A4SN
7030        Animation       = UBSupply_A4SN.UBSupply_A4SN
7031        AnimationMode   = ONCE
7032        AnimationSpeedFactorRange = 1.0 1.0
7033        Flags           = START_FRAME_FIRST
7034      End
7035      TransitionState   = UP_DAY DOWN_DEFAULT
7036        Model           = UBSupply_A4
7037        Animation       = UBSupply_A4.UBSupply_A4
7038        AnimationMode   = ONCE_BACKWARDS
7039        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7040        Flags           = START_FRAME_LAST
7041      End
7042      TransitionState   = UP_NIGHT DOWN_DEFAULT
7043        Model           = UBSupply_A4N
7044        Animation       = UBSupply_A4N.UBSupply_A4N
7045        AnimationMode   = ONCE_BACKWARDS
7046        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7047        Flags           = START_FRAME_LAST
7048      End
7049      TransitionState   = UP_SNOW DOWN_DEFAULT
7050        Model           = UBSupply_A4S
7051        Animation       = UBSupply_A4S.UBSupply_A4S
7052        AnimationMode   = ONCE_BACKWARDS
7053        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7054        Flags           = START_FRAME_LAST
7055      End
7056      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
7057        Model           = UBSupply_A4SN
7058        Animation       = UBSupply_A4SN.UBSupply_A4SN
7059        AnimationMode   = ONCE_BACKWARDS
7060        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7061        Flags           = START_FRAME_LAST
7062      End
7063    End
7064  
7065    ; ------------ under-construction scaffolding -----------------
7066    Draw = W3DModelDraw ModuleTag_03
7067    AnimationsRequirePower = No
7068      MinLODRequired = MEDIUM
7069      DefaultConditionState
7070        Model           = None
7071        TransitionKey   = DOWN_DEFAULT
7072      End
7073      ConditionState    = NIGHT
7074        Model           = None
7075        TransitionKey   = DOWN_DEFAULT
7076      End
7077      ConditionState    = SNOW
7078        Model           = None
7079        TransitionKey   = DOWN_DEFAULT
7080      End
7081      ConditionState    = SNOW NIGHT
7082        Model           = None
7083        TransitionKey   = DOWN_DEFAULT
7084      End
7085      ConditionState    = PARTIALLY_CONSTRUCTED
7086        Model           = UBSupply_A6
7087        Animation       = UBSupply_A6.UBSupply_A6
7088        AnimationMode   = MANUAL
7089        Flags           = START_FRAME_LAST
7090        TransitionKey   = UP_DAY
7091        ParticleSysBone = Dust01 BuildingDust
7092        ParticleSysBone = Smoke01 BuildUpSmoke
7093        ParticleSysBone = Smoke02 BuildUpSmoke
7094        ParticleSysBone = Smoke03 BuildUpSmoke
7095        ParticleSysBone = Smoke04 BuildUpSmoke
7096      End
7097      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
7098        Model           = UBSupply_A6N
7099        Animation       = UBSupply_A6N.UBSupply_A6N
7100        AnimationMode   = MANUAL
7101        Flags           = START_FRAME_LAST
7102        TransitionKey   = UP_NIGHT
7103        ParticleSysBone = Dust01 BuildingDust
7104        ParticleSysBone = Smoke01 BuildUpSmoke
7105        ParticleSysBone = Smoke02 BuildUpSmoke
7106        ParticleSysBone = Smoke03 BuildUpSmoke
7107        ParticleSysBone = Smoke04 BuildUpSmoke
7108      End
7109      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
7110        Model           = UBSupply_A6S
7111        Animation       = UBSupply_A6S.UBSupply_A6S
7112        AnimationMode   = MANUAL
7113        Flags           = START_FRAME_LAST
7114        TransitionKey   = UP_SNOW
7115        ParticleSysBone = Dust01 BuildingSnowDust
7116        ParticleSysBone = Smoke01 BuildUpSnowSmoke
7117        ParticleSysBone = Smoke02 BuildUpSnowSmoke
7118        ParticleSysBone = Smoke03 BuildUpSnowSmoke
7119        ParticleSysBone = Smoke04 BuildUpSnowSmoke
7120      End
7121      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
7122        Model           = UBSupply_A6SN
7123        Animation       = UBSupply_A6SN.UBSupply_A6SN
7124        AnimationMode   = MANUAL
7125        Flags           = START_FRAME_LAST
7126        TransitionKey   = UP_SNOWNIGHT
7127        ParticleSysBone = Dust01 BuildingNightSnowDust
7128        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
7129        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
7130        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
7131        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
7132      End
7133      TransitionState   = DOWN_DEFAULT UP_DAY
7134       Model            = UBSupply_A6
7135        Animation       = UBSupply_A6.UBSupply_A6
7136        AnimationMode   = ONCE
7137        AnimationSpeedFactorRange = 1.0 1.0
7138        Flags           = START_FRAME_FIRST
7139      End
7140      TransitionState   = DOWN_DEFAULT UP_NIGHT
7141       Model            = UBSupply_A6N
7142        Animation       = UBSupply_A6N.UBSupply_A6N
7143        AnimationMode   = ONCE
7144        AnimationSpeedFactorRange = 1.0 1.0
7145        Flags           = START_FRAME_FIRST
7146      End
7147      TransitionState   = DOWN_DEFAULT UP_SNOW
7148       Model            = UBSupply_A6S
7149        Animation       = UBSupply_A6S.UBSupply_A6S
7150        AnimationMode   = ONCE
7151        AnimationSpeedFactorRange = 1.0 1.0
7152        Flags           = START_FRAME_FIRST
7153      End
7154      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7155       Model            = UBSupply_A6SN
7156        Animation       = UBSupply_A6SN.UBSupply_A6SN
7157        AnimationMode   = ONCE
7158        AnimationSpeedFactorRange = 1.0 1.0
7159        Flags           = START_FRAME_FIRST
7160      End
7161      TransitionState   = UP_DAY DOWN_DEFAULT
7162        Model           = UBSupply_A6
7163        Animation       = UBSupply_A6.UBSupply_A6
7164        AnimationMode   = ONCE_BACKWARDS
7165        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7166        Flags           = START_FRAME_LAST
7167      End
7168      TransitionState   = UP_NIGHT DOWN_DEFAULT
7169        Model           = UBSupply_A6N
7170        Animation       = UBSupply_A6N.UBSupply_A6N
7171        AnimationMode   = ONCE_BACKWARDS
7172        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7173        Flags           = START_FRAME_LAST
7174  
7175      End
7176      TransitionState   = UP_SNOW DOWN_DEFAULT
7177        Model           = UBSupply_A6S
7178        Animation       = UBSupply_A6S.UBSupply_A6S
7179        AnimationMode   = ONCE_BACKWARDS
7180        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7181        Flags           = START_FRAME_LAST
7182      End
7183      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
7184        Model           = UBSupply_A6SN
7185        Animation       = UBSupply_A6SN.UBSupply_A6SN
7186        AnimationMode   = ONCE_BACKWARDS
7187        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7188        Flags           = START_FRAME_LAST
7189      End
7190    End
7191  
7192    PlacementViewAngle = -45
7193  
7194    ; ***DESIGN parameters ***
7195    DisplayName         = OBJECT:SupplyStash
7196    Side                = GLAToxinGeneral
7197    EditorSorting       = STRUCTURE
7198    Prerequisites
7199      Object = Chem_GLACommandCenter
7200    End
7201    BuildCost           = 375
7202    BuildTime           = 5.0           ; in seconds
7203    EnergyProduction    = 0
7204    CommandSet          = FakeGLASupplyStashCommandSet
7205    VisionRange         = 200.0           ; Shroud clearing distance
7206    ShroudClearingRange = 200
7207  
7208    WeaponSet
7209      Conditions          = None 
7210      Weapon = PRIMARY SuicideWeapon
7211      AutoChooseSources = PRIMARY None
7212    End
7213  
7214    ArmorSet
7215      Conditions        = None
7216      Armor             = StructureArmor
7217      DamageFX          = StructureDamageFXNoShake
7218    End
7219    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
7220  
7221    ; *** AUDIO Parameters ***
7222    VoiceSelect = SupplyCenterGLASelect
7223    SoundOnDamaged        = BuildingDamagedStateLight
7224    SoundOnReallyDamaged  = BuildingDestroy
7225  
7226    UnitSpecificSounds
7227      UnderConstruction     = UnderConstructionLoop
7228    End
7229  
7230    ; *** ENGINEERING Parameters ***
7231    RadarPriority       = STRUCTURE
7232    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE
7233    Body                = StructureBody ModuleTag_04
7234      MaxHealth       = 250.0
7235      InitialHealth   = 250.0
7236  
7237      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
7238      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
7239      SubdualDamageCap = 450
7240      SubdualDamageHealRate = 500
7241      SubdualDamageHealAmount = 100
7242    End
7243  
7244    Behavior                 = CreateObjectDie ModuleTag_08
7245      CreationList      = OCL_SmallStructureDebris
7246    End
7247    Behavior                 = FXListDie ModuleTag_09
7248      DeathFX           = FX_StructureSmallDeath
7249    End
7250    Behavior = ProductionUpdate ModuleTag_10
7251      ; nothing
7252    End
7253    Behavior = AIUpdateInterface ModuleTag_11
7254      AutoAcquireEnemiesWhenIdle = No
7255    End
7256  
7257    Behavior = SlowDeathBehavior ModuleTag_12
7258      ExemptStatus = UNDER_CONSTRUCTION
7259      DestructionDelay = 0
7260      Weapon = FINAL FakeStructureDetonationWeapon
7261    End
7262    Behavior = DestroyDie ModuleTag_SlowDeathException
7263      RequiredStatus = UNDER_CONSTRUCTION
7264    End
7265  
7266    Behavior = ReplaceObjectUpgrade ModuleTag_13
7267      ReplaceObject = Chem_GLASupplyStash
7268      TriggeredBy = Upgrade_BecomeRealGLASupplyStash
7269    End
7270  
7271    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
7272      ConditionFlag = GARRISONED
7273      TriggeredBy   = Upgrade_GLAFortifiedStructure
7274    End
7275  
7276    Behavior = FlammableUpdate ModuleTag_15
7277      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
7278      AflameDamageAmount = 5       ; taking this much damage...
7279      AflameDamageDelay = 500       ; this often.
7280    End
7281  
7282    Behavior = TransitionDamageFX ModuleTag_16
7283      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
7284      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
7285      ;---------------------------------------------------------------------------------------
7286      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
7287      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
7288      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
7289    End
7290  
7291    ;Dont forget to edit the GLA Hole geometry for this object too
7292    Geometry            = BOX
7293    GeometryMajorRadius = 36.0
7294    GeometryMinorRadius = 35.0
7295    GeometryHeight      = 30.0
7296    GeometryIsSmall     = No
7297    ;FactoryExtraBibWidth= 1.0     ; extra placement border.
7298    Shadow              = SHADOW_VOLUME
7299    ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure.
7300    ShadowSizeX = 105
7301    ShadowSizeY = 105
7302    BuildCompletion     = PLACED_BY_PLAYER
7303  
7304  End
7305  
7306  
7307  
7308  
7309  
7310  
7311  ;------------------------------------------------------------------------------
7312  ;GLA Barracks
7313  Object Chem_GLABarracks
7314  
7315    ; *** ART Parameters ***
7316    SelectPortrait         = SUBarracks_L
7317    ButtonImage            = SUBarracks
7318  
7319  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
7320  
7321    Draw = W3DModelDraw ModuleTag_01
7322      OkToChangeModelColor = Yes
7323      ; day
7324      ConditionState = NONE
7325        Model = UBBARRACKS
7326        ParticleSysBone = Smoke01 ChimneySmokeSmall
7327        ParticleSysBone = Smoke02 SteamVent
7328        Animation     = UBBarracks.UBBarracks
7329        AnimationMode = LOOP
7330      End
7331      ConditionState = DAMAGED
7332        Model = UBBarracks_D
7333        ParticleSysBone = Smoke01 ChimneySmokeSmall
7334        ParticleSysBone = Smoke02 SteamVent
7335  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
7336  ;     ParticleSysBone = Flame01 FireFactionMedium
7337        Animation     = UBBarracks_D.UBBarracks_D
7338        AnimationMode = LOOP
7339      End
7340      ConditionState = REALLYDAMAGED RUBBLE
7341        Model = UBBarracks_E
7342        ParticleSysBone = Smoke01 ChimneySmokeSmall
7343  ;     ParticleSysBone = Smoke02 SteamVent
7344  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
7345  ;     ParticleSysBone = Smoke04 SmokeFactionLarge
7346  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
7347  ;     ParticleSysBone = Flame01 FireFactionMedium
7348  ;     ParticleSysBone = Flame02 FireFactionLarge
7349        Animation     = UBBarracks_E.UBBarracks_E
7350        AnimationMode = LOOP
7351      End
7352      ConditionState         = GARRISONED
7353        Model                = UBBarrksEG
7354        ParticleSysBone      = Smoke01 SmolderingSmoke
7355        Animation            = UBBarrksEG.UBBarrksEG
7356        AnimationMode        = LOOP
7357      End
7358      ConditionState         = DAMAGED GARRISONED
7359        Model                = UBBarrksEG_D
7360        ParticleSysBone      = Smoke01 SmolderingSmoke
7361        Animation            = UBBarrksEG_D.UBBarrksEG_D
7362        AnimationMode        = LOOP
7363      End
7364      ConditionState         = REALLYDAMAGED GARRISONED
7365        Model                = UBBarrksEG_E
7366        ParticleSysBone      = Smoke01 SmolderingSmoke
7367        Animation            = UBBarrksEG_E.UBBarrksEG_E
7368        AnimationMode        = LOOP
7369      End
7370          
7371          ; day
7372      ConditionState = SNOW
7373        Model = UBBARRACKS_S
7374        ParticleSysBone = Smoke01 ChimneySmokeSmall
7375        ParticleSysBone = Smoke02 SteamVent
7376        Animation     = UBBarracks_S.UBBarracks_S
7377        AnimationMode = LOOP
7378      End
7379      ConditionState = DAMAGED SNOW
7380        Model = UBBarracks_DS
7381        ParticleSysBone = Smoke01 ChimneySmokeSmall
7382        ParticleSysBone = Smoke02 SteamVent
7383  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
7384  ;     ParticleSysBone = Flame01 FireFactionMedium
7385        Animation     = UBBarracks_DS.UBBarracks_DS
7386        AnimationMode = LOOP
7387      End
7388      ConditionState = REALLYDAMAGED RUBBLE SNOW
7389        Model = UBBarracks_ES
7390        ParticleSysBone = Smoke01 ChimneySmokeSmall
7391  ;     ParticleSysBone = Smoke02 SteamVent
7392  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
7393  ;     ParticleSysBone = Smoke04 SmokeFactionLarge
7394  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
7395  ;     ParticleSysBone = Flame01 FireFactionMedium
7396  ;     ParticleSysBone = Flame02 FireFactionLarge
7397        Animation     = UBBarracks_ES.UBBarracks_ES
7398        AnimationMode = LOOP
7399      End
7400      ConditionState         = GARRISONED SNOW
7401        Model                = UBBarrksEG_S
7402        ParticleSysBone      = Smoke01 SmolderingSmoke
7403        Animation            = UBBarrksEG_S.UBBarrksEG_S
7404        AnimationMode        = LOOP
7405      End
7406      ConditionState         = DAMAGED GARRISONED SNOW
7407        Model                = UBBarrksEG_DS
7408        ParticleSysBone      = Smoke01 SmolderingSmoke
7409        Animation            = UBBarrksEG_DS.UBBarrksEG_DS
7410        AnimationMode        = LOOP
7411      End
7412      ConditionState         = REALLYDAMAGED GARRISONED SNOW
7413        Model                = UBBarrksEG_ES
7414        ParticleSysBone      = Smoke01 SmolderingSmoke
7415        Animation            = UBBarrksEG_ES.UBBarrksEG_ES
7416        AnimationMode        = LOOP
7417      End
7418  
7419      ; night
7420      ConditionState = NIGHT
7421        Model = UBBARRACKS_N
7422        ParticleSysBone = Smoke01 ChimneySmokeSmall
7423        ParticleSysBone = Smoke02 SteamVent
7424        Animation     = UBBarracks_N.UBBarracks_N
7425        AnimationMode = LOOP
7426      End
7427      ConditionState = DAMAGED NIGHT
7428        Model = UBBarracks_DN
7429        ParticleSysBone = Smoke01 ChimneySmokeSmall
7430        ParticleSysBone = Smoke02 SteamVent
7431        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
7432        ParticleSysBone = Flame01 GLAPowerPlantFlame
7433        Animation     = UBBarracks_DN.UBBarracks_DN
7434        AnimationMode = LOOP
7435      End
7436      ConditionState = REALLYDAMAGED RUBBLE NIGHT
7437        Model = UBBarracks_EN
7438        ParticleSysBone = Smoke01 ChimneySmokeSmall
7439        ParticleSysBone = Smoke02 SteamVent
7440        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
7441        ParticleSysBone = Smoke04 GLAPowerPlantSmoke
7442        ParticleSysBone = Smoke05 GLAPowerPlantSmoke
7443        ParticleSysBone = Flame01 FireSmallContinuous
7444        ParticleSysBone = Flame02 GLAPowerPlantFlame
7445        Animation     = UBBarracks_EN.UBBarracks_EN
7446        AnimationMode = LOOP
7447      End
7448      ConditionState         = GARRISONED NIGHT
7449        Model                = UBBarrksEG_N
7450        ParticleSysBone      = Smoke01 SmolderingSmoke
7451        Animation            = UBBarrksEG_N.UBBarrksEG_N
7452        AnimationMode        = LOOP
7453      End
7454      ConditionState         = DAMAGED GARRISONED NIGHT
7455        Model                = UBBarrksEG_DN
7456        ParticleSysBone      = Smoke01 SmolderingSmoke
7457        Animation            = UBBarrksEG_DN.UBBarrksEG_DN
7458        AnimationMode        = LOOP
7459      End
7460      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
7461        Model                = UBBarrksEG_EN
7462        ParticleSysBone      = Smoke01 SmolderingSmoke
7463        Animation            = UBBarrksEG_EN.UBBarrksEG_EN
7464        AnimationMode        = LOOP
7465      End
7466  
7467      ; night snow
7468      ConditionState = NIGHT SNOW
7469        Model = UBBARRACKS_NS
7470        ParticleSysBone = Smoke01 ChimneySmokeSmall
7471        ParticleSysBone = Smoke02 SteamVent
7472        Animation     = UBBarracks_NS.UBBarracks_NS
7473        AnimationMode = LOOP
7474      End
7475      ConditionState = DAMAGED NIGHT SNOW
7476        Model = UBBarracks_DNS
7477        ParticleSysBone = Smoke01 ChimneySmokeSmall
7478        ParticleSysBone = Smoke02 SteamVent
7479        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
7480        ParticleSysBone = Flame01 GLAPowerPlantFlame
7481        Animation     = UBBarracks_DNS.UBBarracks_DNS
7482        AnimationMode = LOOP
7483      End
7484      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
7485        Model = UBBarracks_ENS
7486        ParticleSysBone = Smoke01 ChimneySmokeSmall
7487        ParticleSysBone = Smoke02 SteamVent
7488        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
7489        ParticleSysBone = Smoke04 GLAPowerPlantSmoke
7490        ParticleSysBone = Smoke05 GLAPowerPlantSmoke
7491        ParticleSysBone = Flame01 FireSmallContinuous
7492        ParticleSysBone = Flame02 GLAPowerPlantFlame
7493        Animation     = UBBarracks_ENS.UBBarracks_ENS
7494        AnimationMode = LOOP
7495      End
7496      ConditionState         = GARRISONED NIGHT SNOW
7497        Model                = UBBarrksEG_NS
7498        ParticleSysBone      = Smoke01 SmolderingSmoke
7499        Animation            = UBBarrksEG_NS.UBBarrksEG_NS
7500        AnimationMode        = LOOP
7501      End
7502      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
7503        Model                = UBBarrksEG_DNS
7504        ParticleSysBone      = Smoke01 SmolderingSmoke
7505        Animation            = UBBarrksEG_DNS.UBBarrksEG_DNS
7506        AnimationMode        = LOOP
7507      End
7508      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
7509        Model                = UBBarrksEG_ENS
7510        ParticleSysBone      = Smoke01 SmolderingSmoke
7511        Animation            = UBBarrksEG_ENS.UBBarrksEG_ENS
7512        AnimationMode        = LOOP
7513      End
7514  
7515      ;**************************************************************************************************************************
7516      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
7517      ;for this draw module
7518      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7519        Model              = UBBarracks
7520        Animation          = UBBarracks.UBBarracks
7521        AnimationMode      = LOOP
7522        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7523      End
7524      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
7525        Model              = UBBarracks_D
7526        Animation          = UBBarracks_D.UBBarracks_D
7527        AnimationMode      = LOOP
7528        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7529      End
7530      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
7531        Model              = UBBarracks_E
7532        Animation          = UBBarracks_E.UBBarracks_E
7533        AnimationMode      = LOOP
7534        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7535      End
7536      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
7537        Model              = UBBarracks_N
7538        Animation          = UBBarracks_N.UBBarracks_N
7539        AnimationMode      = LOOP
7540        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7541      End
7542      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
7543        Model              = UBBarracks_DN
7544        Animation          = UBBarracks_DN.UBBarracks_DN
7545        AnimationMode      = LOOP
7546        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7547      End
7548      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
7549        Model              = UBBarracks_EN
7550        Animation          = UBBarracks_EN.UBBarracks_EN
7551        AnimationMode      = LOOP
7552        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7553      End
7554      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
7555        Model              = UBBarracks_S
7556        Animation          = UBBarracks_S.UBBarracks_S
7557        AnimationMode      = LOOP
7558        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7559      End
7560      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
7561        Model              = UBBarracks_DS
7562        Animation          = UBBarracks_DS.UBBarracks_DS
7563        AnimationMode      = LOOP
7564        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7565      End
7566      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
7567        Model              = UBBarracks_ES
7568        Animation          = UBBarracks_ES.UBBarracks_ES
7569        AnimationMode      = LOOP
7570        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7571      End
7572      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
7573        Model              = UBBarracks_NS
7574        Animation          = UBBarracks_NS.UBBarracks_NS
7575        AnimationMode      = LOOP
7576        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7577      End
7578      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
7579        Model              = UBBarracks_DNS
7580        Animation          = UBBarracks_DNS.UBBarracks_DNS
7581        AnimationMode      = LOOP
7582        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7583      End
7584      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
7585        Model              = UBBarracks_ENS
7586        Animation          = UBBarracks_ENS.UBBarracks_ENS
7587        AnimationMode      = LOOP
7588        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
7589      End
7590  
7591      ConditionState       = AWAITING_CONSTRUCTION 
7592        Model              = NONE
7593      End
7594      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
7595      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
7596      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
7597      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
7598      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
7599      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
7600      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
7601      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
7602      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
7603      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
7604      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
7605      AliasConditionState  = SOLD 
7606      AliasConditionState  = SOLD DAMAGED
7607      AliasConditionState  = SOLD REALLYDAMAGED
7608      AliasConditionState  = SOLD NIGHT
7609      AliasConditionState  = SOLD NIGHT DAMAGED
7610      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
7611      AliasConditionState  = SOLD SNOW
7612      AliasConditionState  = SOLD SNOW DAMAGED
7613      AliasConditionState  = SOLD SNOW REALLYDAMAGED
7614      AliasConditionState  = SOLD NIGHT SNOW
7615      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
7616      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
7617      AliasConditionState  = GARRISONED SOLD 
7618      AliasConditionState  = GARRISONED SOLD DAMAGED
7619      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
7620      AliasConditionState  = GARRISONED SOLD NIGHT
7621      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
7622      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
7623      AliasConditionState  = GARRISONED SOLD SNOW
7624      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
7625      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
7626      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
7627      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
7628      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
7629      ;**************************************************************************************************************************
7630    End
7631    ; ------------ construction-zone fence -----------------
7632    Draw = W3DModelDraw ModuleTag_02
7633    AnimationsRequirePower = No
7634      DefaultConditionState
7635        Model           = None
7636        TransitionKey   = DOWN_DEFAULT
7637      End
7638      ConditionState    = NIGHT
7639        Model           = None
7640        TransitionKey   = DOWN_DEFAULT
7641      End
7642      ConditionState    = SNOW
7643        Model           = None
7644        TransitionKey   = DOWN_DEFAULT
7645      End
7646      ConditionState    = SNOW NIGHT
7647        Model           = None
7648        TransitionKey   = DOWN_DEFAULT
7649      End
7650      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7651        Model           = UBBarracks_A4
7652        Animation       = UBBarracks_A4.UBBarracks_A4
7653        AnimationMode   = MANUAL
7654        Flags           = START_FRAME_LAST
7655        TransitionKey   = UP_DAY
7656      End
7657      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7658        Model           = UBBarracks_A4N
7659        Animation       = UBBarracks_A4N.UBBarracks_A4N
7660        AnimationMode   = MANUAL
7661        Flags           = START_FRAME_LAST
7662        TransitionKey   = UP_NIGHT
7663      End
7664      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7665        Model           = UBBarracks_A4S
7666        Animation       = UBBarracks_A4S.UBBarracks_A4S
7667        AnimationMode   = MANUAL
7668        Flags           = START_FRAME_LAST
7669        TransitionKey   = UP_SNOW
7670      End
7671      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
7672        Model           = UBBarracks_A4SN
7673        Animation       = UBBarracks_A4SN.UBBarracks_A4SN
7674        AnimationMode   = MANUAL
7675        Flags           = START_FRAME_LAST
7676        TransitionKey   = UP_SNOWNIGHT
7677      End
7678      TransitionState   = DOWN_DEFAULT UP_DAY
7679        Model           = UBBarracks_A4
7680        Animation       = UBBarracks_A4.UBBarracks_A4
7681        AnimationMode   = ONCE
7682        AnimationSpeedFactorRange = 1.0 1.0
7683        Flags           = START_FRAME_FIRST
7684      End
7685      TransitionState   = DOWN_DEFAULT UP_NIGHT
7686        Model           = UBBarracks_A4N
7687        Animation       = UBBarracks_A4N.UBBarracks_A4N
7688        AnimationMode   = ONCE
7689        AnimationSpeedFactorRange = 1.0 1.0
7690        Flags           = START_FRAME_FIRST
7691      End
7692      TransitionState   = DOWN_DEFAULT UP_SNOW
7693        Model           = UBBarracks_A4S
7694        Animation       = UBBarracks_A4S.UBBarracks_A4S
7695        AnimationMode   = ONCE
7696        AnimationSpeedFactorRange = 1.0 1.0
7697        Flags           = START_FRAME_FIRST
7698      End
7699      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7700        Model           = UBBarracks_A4SN
7701        Animation       = UBBarracks_A4SN.UBBarracks_A4SN
7702        AnimationMode   = ONCE
7703        AnimationSpeedFactorRange = 1.0 1.0
7704        Flags           = START_FRAME_FIRST
7705      End
7706      TransitionState   = UP_DAY DOWN_DEFAULT
7707        Model           = UBBarracks_A4
7708        Animation       = UBBarracks_A4.UBBarracks_A4
7709        AnimationMode   = ONCE_BACKWARDS
7710        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7711        Flags           = START_FRAME_LAST
7712      End
7713      TransitionState   = UP_NIGHT DOWN_DEFAULT
7714        Model           = UBBarracks_A4N
7715        Animation       = UBBarracks_A4N.UBBarracks_A4N
7716        AnimationMode   = ONCE_BACKWARDS
7717        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7718        Flags           = START_FRAME_LAST
7719      End
7720      TransitionState   = UP_SNOW DOWN_DEFAULT
7721        Model           = UBBarracks_A4S
7722        Animation       = UBBarracks_A4S.UBBarracks_A4S
7723        AnimationMode   = ONCE_BACKWARDS
7724        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7725        Flags           = START_FRAME_LAST
7726      End
7727      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
7728        Model           = UBBarracks_A4SN
7729        Animation       = UBBarracks_A4SN.UBBarracks_A4SN
7730        AnimationMode   = ONCE_BACKWARDS
7731        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7732        Flags           = START_FRAME_LAST
7733      End
7734    End
7735  
7736    ; ------------ under-construction scaffolding -----------------
7737    Draw = W3DModelDraw ModuleTag_03
7738    AnimationsRequirePower = No
7739      MinLODRequired = MEDIUM
7740      DefaultConditionState
7741        Model           = None
7742        TransitionKey   = DOWN_DEFAULT
7743      End
7744      ConditionState    = NIGHT
7745        Model           = None
7746        TransitionKey   = DOWN_DEFAULT
7747      End
7748      ConditionState    = SNOW
7749        Model           = None
7750        TransitionKey   = DOWN_DEFAULT
7751      End
7752      ConditionState    = SNOW NIGHT
7753        Model           = None
7754        TransitionKey   = DOWN_DEFAULT
7755      End
7756      ConditionState    = PARTIALLY_CONSTRUCTED
7757        Model           = UBBarracks_A6
7758        Animation       = UBBarracks_A6.UBBarracks_A6
7759        AnimationMode   = MANUAL
7760        Flags           = START_FRAME_LAST
7761        TransitionKey   = UP_DAY
7762        ParticleSysBone = Dust01 BuildingDust
7763        ParticleSysBone = Smoke01 BuildUpSmoke
7764        ParticleSysBone = Smoke02 BuildUpSmoke
7765        ParticleSysBone = Smoke03 BuildUpSmoke
7766        ParticleSysBone = Smoke04 BuildUpSmoke
7767        ParticleSysBone = Smoke05 BuildUpSmoke
7768        ParticleSysBone = Smoke06 BuildUpSmoke
7769      End
7770      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
7771        Model           = UBBarracks_A6N
7772        Animation       = UBBarracks_A6N.UBBarracks_A6N
7773        AnimationMode   = MANUAL
7774        Flags           = START_FRAME_LAST
7775        TransitionKey   = UP_NIGHT
7776        ParticleSysBone = Dust01 BuildingDust
7777        ParticleSysBone = Smoke01 BuildUpSmoke
7778        ParticleSysBone = Smoke02 BuildUpSmoke
7779        ParticleSysBone = Smoke03 BuildUpSmoke
7780        ParticleSysBone = Smoke04 BuildUpSmoke
7781        ParticleSysBone = Smoke05 BuildUpSmoke
7782        ParticleSysBone = Smoke06 BuildUpSmoke
7783      End
7784      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
7785        Model           = UBBarracks_A6S
7786        Animation       = UBBarracks_A6S.UBBarracks_A6S
7787        AnimationMode   = MANUAL
7788        Flags           = START_FRAME_LAST
7789        TransitionKey   = UP_SNOW
7790        ParticleSysBone = Dust01 BuildingSnowDust
7791        ParticleSysBone = Smoke01 BuildUpSnowSmoke
7792        ParticleSysBone = Smoke02 BuildUpSnowSmoke
7793        ParticleSysBone = Smoke03 BuildUpSnowSmoke
7794        ParticleSysBone = Smoke04 BuildUpSnowSmoke
7795        ParticleSysBone = Smoke05 BuildUpSnowSmoke
7796        ParticleSysBone = Smoke06 BuildUpSnowSmoke
7797      End
7798      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
7799        Model           = UBBarracks_A6SN
7800        Animation       = UBBarracks_A6SN.UBBarracks_A6SN
7801        AnimationMode   = MANUAL
7802        Flags           = START_FRAME_LAST
7803        TransitionKey   = UP_SNOWNIGHT
7804        ParticleSysBone = Dust01 BuildingNightSnowDust
7805        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
7806        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
7807        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
7808        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
7809        ParticleSysBone = Smoke05 BuildUpNightSnowSmoke
7810        ParticleSysBone = Smoke06 BuildUpNightSnowSmoke
7811      End
7812      TransitionState   = DOWN_DEFAULT UP_DAY
7813       Model            = UBBarracks_A6
7814        Animation       = UBBarracks_A6.UBBarracks_A6
7815        AnimationMode   = ONCE
7816        AnimationSpeedFactorRange = 1.0 1.0
7817        Flags           = START_FRAME_FIRST
7818      End
7819      TransitionState   = DOWN_DEFAULT UP_NIGHT
7820       Model            = UBBarracks_A6N
7821        Animation       = UBBarracks_A6N.UBBarracks_A6N
7822        AnimationMode   = ONCE
7823        AnimationSpeedFactorRange = 1.0 1.0
7824        Flags           = START_FRAME_FIRST
7825      End
7826      TransitionState   = DOWN_DEFAULT UP_SNOW
7827       Model            = UBBarracks_A6S
7828        Animation       = UBBarracks_A6S.UBBarracks_A6S
7829        AnimationMode   = ONCE
7830        AnimationSpeedFactorRange = 1.0 1.0
7831        Flags           = START_FRAME_FIRST
7832      End
7833      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
7834       Model            = UBBarracks_A6SN
7835        Animation       = UBBarracks_A6SN.UBBarracks_A6SN
7836        AnimationMode   = ONCE
7837        AnimationSpeedFactorRange = 1.0 1.0
7838        Flags           = START_FRAME_FIRST
7839      End
7840      TransitionState   = UP_DAY DOWN_DEFAULT
7841        Model           = UBBarracks_A6
7842        Animation       = UBBarracks_A6.UBBarracks_A6
7843        AnimationMode   = ONCE_BACKWARDS
7844        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7845        Flags           = START_FRAME_LAST
7846      End
7847      TransitionState   = UP_NIGHT DOWN_DEFAULT
7848        Model           = UBBarracks_A6N
7849        Animation       = UBBarracks_A6N.UBBarracks_A6N
7850        AnimationMode   = ONCE_BACKWARDS
7851        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7852        Flags           = START_FRAME_LAST
7853      End
7854      TransitionState   = UP_SNOW DOWN_DEFAULT
7855        Model           = UBBarracks_A6S
7856        Animation       = UBBarracks_A6S.UBBarracks_A6S
7857        AnimationMode   = ONCE_BACKWARDS
7858        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7859        Flags           = START_FRAME_LAST
7860      End
7861      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
7862        Model           = UBBarracks_A6SN
7863        Animation       = UBBarracks_A6SN.UBBarracks_A6SN
7864        AnimationMode   = ONCE_BACKWARDS
7865        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
7866        Flags           = START_FRAME_LAST
7867      End
7868    End
7869  
7870    PlacementViewAngle = -135
7871  
7872    ; ***DESIGN parameters ***
7873    DisplayName      = OBJECT:Barracks
7874    Side             = GLAToxinGeneral
7875    EditorSorting    = STRUCTURE
7876    BuildCost        = 500
7877    BuildTime        = 10.0           ; in seconds
7878    EnergyProduction = 0
7879    CommandSet       = Chem_GLABarracksCommandSet
7880    VisionRange      = 200.0           ; Shroud clearing distance
7881    ShroudClearingRange = 200
7882    ArmorSet
7883      Conditions      = None
7884      Armor           = StructureArmor
7885      DamageFX        = StructureDamageFXNoShake
7886    End
7887    ArmorSet
7888      Conditions      = PLAYER_UPGRADE
7889      Armor           = GLAUpgradedStructureArmor
7890      DamageFX        = StructureDamageFXNoShake
7891    End
7892    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
7893  
7894    Prerequisites
7895  ;    Object = Chem_GLASupplyStash
7896    End
7897  
7898  
7899    ; *** AUDIO Parameters ***
7900    VoiceSelect = BarracksGLASelect
7901    SoundOnDamaged        = BuildingDamagedStateLight
7902    SoundOnReallyDamaged  = BuildingDestroy
7903  
7904    UnitSpecificSounds
7905      UnderConstruction     = UnderConstructionLoop
7906    End
7907  
7908    ; *** ENGINEERING Parameters ***
7909    RadarPriority   = STRUCTURE
7910    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE HEAL_PAD CAPTURABLE FS_FACTORY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE FS_BARRACKS
7911    Body            = StructureBody ModuleTag_04
7912      MaxHealth     = 1000.0
7913      InitialHealth = 1000.0
7914  
7915      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
7916      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
7917      SubdualDamageCap = 1200
7918      SubdualDamageHealRate = 500
7919      SubdualDamageHealAmount = 100
7920    End
7921  
7922    Behavior        = ArmorUpgrade ModuleTag_Armor01
7923      TriggeredBy   = Upgrade_GLAFortifiedStructure
7924    End
7925  
7926    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
7927      ConditionFlag = GARRISONED
7928      TriggeredBy   = Upgrade_GLAFortifiedStructure
7929    End
7930  
7931    Behavior = HealContain ModuleTag_05
7932      ContainMax          = 10 ;way bigger than the # of objects we can have  
7933      TimeForFullHeal     = 2000   ;(in milliseconds)
7934      AllowInsideKindOf   = INFANTRY
7935      AllowAlliesInside   = Yes
7936      AllowNeutralInside  = No
7937      AllowEnemiesInside  = No
7938    End
7939  
7940    Behavior        = RebuildHoleExposeDie ModuleTag_06
7941      HoleName      = GLAHoleBarracks
7942      HoleMaxHealth = 500.0
7943    End
7944    Behavior = DestroyDie ModuleTag_07
7945      ;nothing
7946    End
7947    Behavior        = CreateObjectDie ModuleTag_08
7948      CreationList  = OCL_LargeStructureDebris
7949    End
7950    Behavior        = FXListDie ModuleTag_09
7951      DeathFX       = FX_StructureSmallDeath
7952    End
7953    Behavior = ProductionUpdate ModuleTag_10
7954      ; nothing
7955    End
7956    Behavior = DefaultProductionExitUpdate ModuleTag_11
7957      UnitCreatePoint   = X:  0.0  Y:  0.0   Z:0.0
7958      NaturalRallyPoint = X: 42.0  Y:  0.0   Z:0.0;NaturalRallyPointX must always match GeometryMajorRadius! -ML
7959    End
7960  
7961    Behavior = FlammableUpdate ModuleTag_13
7962      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
7963      AflameDamageAmount = 5       ; taking this much damage...
7964      AflameDamageDelay = 500       ; this often.
7965    End
7966  
7967    Behavior = TransitionDamageFX ModuleTag_16
7968      ;-------------DESIGNED FOR SMALL MEDIUM FACTION BUILDING TRANSITIONS-------------------
7969      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
7970      ;---------------------------------------------------------------------------------------
7971      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
7972      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
7973      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
7974    End
7975  
7976  
7977    Geometry            = BOX
7978    GeometryMajorRadius = 42.0
7979    GeometryMinorRadius = 52.0
7980    GeometryHeight      = 20.0
7981    GeometryIsSmall     = No
7982    FactoryExitWidth    = 25 
7983    Shadow          = SHADOW_VOLUME
7984    BuildCompletion = PLACED_BY_PLAYER
7985  
7986  End
7987  
7988  ;------------------------------------------------------------------------------
7989  ;Fake GLA Barracks
7990  Object Chem_FakeGLABarracks
7991  
7992    ; *** ART Parameters ***
7993    SelectPortrait         = SUBarracks_L
7994    ButtonImage            = SUBarracks
7995  
7996  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
7997  
7998    Draw = W3DModelDraw ModuleTag_01
7999      OkToChangeModelColor = Yes
8000      ; day
8001      ConditionState = NONE
8002        Model = UBBARRACKS
8003        ParticleSysBone = Smoke01 ChimneySmokeSmall
8004        ParticleSysBone = Smoke02 SteamVent
8005        Animation     = UBBarracks.UBBarracks
8006        AnimationMode = LOOP
8007      End
8008      ConditionState = DAMAGED
8009        Model = UBBarracks_D
8010        ParticleSysBone = Smoke01 ChimneySmokeSmall
8011        ParticleSysBone = Smoke02 SteamVent
8012  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
8013  ;     ParticleSysBone = Flame01 FireFactionMedium
8014        Animation     = UBBarracks_D.UBBarracks_D
8015        AnimationMode = LOOP
8016      End
8017      ConditionState = REALLYDAMAGED RUBBLE
8018        Model = UBBarracks_E
8019        ParticleSysBone = Smoke01 ChimneySmokeSmall
8020  ;     ParticleSysBone = Smoke02 SteamVent
8021  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
8022  ;     ParticleSysBone = Smoke04 SmokeFactionLarge
8023  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
8024  ;     ParticleSysBone = Flame01 FireFactionMedium
8025  ;     ParticleSysBone = Flame02 FireFactionLarge
8026        Animation     = UBBarracks_E.UBBarracks_E
8027        AnimationMode = LOOP
8028      End
8029      ConditionState         = GARRISONED
8030        Model                = UBBarrksEG
8031        ParticleSysBone      = Smoke01 SmolderingSmoke
8032        Animation            = UBBarrksEG.UBBarrksEG
8033        AnimationMode        = LOOP
8034      End
8035      ConditionState         = DAMAGED GARRISONED
8036        Model                = UBBarrksEG_D
8037        ParticleSysBone      = Smoke01 SmolderingSmoke
8038        Animation            = UBBarrksEG_D.UBBarrksEG_D
8039        AnimationMode        = LOOP
8040      End
8041      ConditionState         = REALLYDAMAGED GARRISONED
8042        Model                = UBBarrksEG_E
8043        ParticleSysBone      = Smoke01 SmolderingSmoke
8044        Animation            = UBBarrksEG_E.UBBarrksEG_E
8045        AnimationMode        = LOOP
8046      End
8047          
8048          ; day
8049      ConditionState = SNOW
8050        Model = UBBARRACKS_S
8051        ParticleSysBone = Smoke01 ChimneySmokeSmall
8052        ParticleSysBone = Smoke02 SteamVent
8053        Animation     = UBBarracks_S.UBBarracks_S
8054        AnimationMode = LOOP
8055      End
8056      ConditionState = DAMAGED SNOW
8057        Model = UBBarracks_DS
8058        ParticleSysBone = Smoke01 ChimneySmokeSmall
8059        ParticleSysBone = Smoke02 SteamVent
8060  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
8061  ;     ParticleSysBone = Flame01 FireFactionMedium
8062        Animation     = UBBarracks_DS.UBBarracks_DS
8063        AnimationMode = LOOP
8064      End
8065      ConditionState = REALLYDAMAGED RUBBLE SNOW
8066        Model = UBBarracks_ES
8067        ParticleSysBone = Smoke01 ChimneySmokeSmall
8068  ;     ParticleSysBone = Smoke02 SteamVent
8069  ;     ParticleSysBone = Smoke03 SmokeFactionMedium
8070  ;     ParticleSysBone = Smoke04 SmokeFactionLarge
8071  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
8072  ;     ParticleSysBone = Flame01 FireFactionMedium
8073  ;     ParticleSysBone = Flame02 FireFactionLarge
8074        Animation     = UBBarracks_ES.UBBarracks_ES
8075        AnimationMode = LOOP
8076      End
8077      ConditionState         = GARRISONED SNOW
8078        Model                = UBBarrksEG_S
8079        ParticleSysBone      = Smoke01 SmolderingSmoke
8080        Animation            = UBBarrksEG_S.UBBarrksEG_S
8081        AnimationMode        = LOOP
8082      End
8083      ConditionState         = DAMAGED GARRISONED SNOW
8084        Model                = UBBarrksEG_DS
8085        ParticleSysBone      = Smoke01 SmolderingSmoke
8086        Animation            = UBBarrksEG_DS.UBBarrksEG_DS
8087        AnimationMode        = LOOP
8088      End
8089      ConditionState         = REALLYDAMAGED GARRISONED SNOW
8090        Model                = UBBarrksEG_ES
8091        ParticleSysBone      = Smoke01 SmolderingSmoke
8092        Animation            = UBBarrksEG_ES.UBBarrksEG_ES
8093        AnimationMode        = LOOP
8094      End
8095  
8096      ; night
8097      ConditionState = NIGHT
8098        Model = UBBARRACKS_N
8099        ParticleSysBone = Smoke01 ChimneySmokeSmall
8100        ParticleSysBone = Smoke02 SteamVent
8101        Animation     = UBBarracks_N.UBBarracks_N
8102        AnimationMode = LOOP
8103      End
8104      ConditionState = DAMAGED NIGHT
8105        Model = UBBarracks_DN
8106        ParticleSysBone = Smoke01 ChimneySmokeSmall
8107        ParticleSysBone = Smoke02 SteamVent
8108        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
8109        ParticleSysBone = Flame01 GLAPowerPlantFlame
8110        Animation     = UBBarracks_DN.UBBarracks_DN
8111        AnimationMode = LOOP
8112      End
8113      ConditionState = REALLYDAMAGED RUBBLE NIGHT
8114        Model = UBBarracks_EN
8115        ParticleSysBone = Smoke01 ChimneySmokeSmall
8116        ParticleSysBone = Smoke02 SteamVent
8117        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
8118        ParticleSysBone = Smoke04 GLAPowerPlantSmoke
8119        ParticleSysBone = Smoke05 GLAPowerPlantSmoke
8120        ParticleSysBone = Flame01 FireSmallContinuous
8121        ParticleSysBone = Flame02 GLAPowerPlantFlame
8122        Animation     = UBBarracks_EN.UBBarracks_EN
8123        AnimationMode = LOOP
8124      End
8125      ConditionState         = GARRISONED NIGHT
8126        Model                = UBBarrksEG_N
8127        ParticleSysBone      = Smoke01 SmolderingSmoke
8128        Animation            = UBBarrksEG_N.UBBarrksEG_N
8129        AnimationMode        = LOOP
8130      End
8131      ConditionState         = DAMAGED GARRISONED NIGHT
8132        Model                = UBBarrksEG_DN
8133        ParticleSysBone      = Smoke01 SmolderingSmoke
8134        Animation            = UBBarrksEG_DN.UBBarrksEG_DN
8135        AnimationMode        = LOOP
8136      End
8137      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
8138        Model                = UBBarrksEG_EN
8139        ParticleSysBone      = Smoke01 SmolderingSmoke
8140        Animation            = UBBarrksEG_EN.UBBarrksEG_EN
8141        AnimationMode        = LOOP
8142      End
8143  
8144      ; night snow
8145      ConditionState = NIGHT SNOW
8146        Model = UBBARRACKS_NS
8147        ParticleSysBone = Smoke01 ChimneySmokeSmall
8148        ParticleSysBone = Smoke02 SteamVent
8149        Animation     = UBBarracks_NS.UBBarracks_NS
8150        AnimationMode = LOOP
8151      End
8152      ConditionState = DAMAGED NIGHT SNOW
8153        Model = UBBarracks_DNS
8154        ParticleSysBone = Smoke01 ChimneySmokeSmall
8155        ParticleSysBone = Smoke02 SteamVent
8156        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
8157        ParticleSysBone = Flame01 GLAPowerPlantFlame
8158        Animation     = UBBarracks_DNS.UBBarracks_DNS
8159        AnimationMode = LOOP
8160      End
8161      ConditionState = REALLYDAMAGED RUBBLE NIGHT SNOW
8162        Model = UBBarracks_ENS
8163        ParticleSysBone = Smoke01 ChimneySmokeSmall
8164        ParticleSysBone = Smoke02 SteamVent
8165        ParticleSysBone = Smoke03 GLAPowerPlantSmoke
8166        ParticleSysBone = Smoke04 GLAPowerPlantSmoke
8167        ParticleSysBone = Smoke05 GLAPowerPlantSmoke
8168        ParticleSysBone = Flame01 FireSmallContinuous
8169        ParticleSysBone = Flame02 GLAPowerPlantFlame
8170        Animation     = UBBarracks_ENS.UBBarracks_ENS
8171        AnimationMode = LOOP
8172      End
8173      ConditionState         = GARRISONED NIGHT SNOW
8174        Model                = UBBarrksEG_NS
8175        ParticleSysBone      = Smoke01 SmolderingSmoke
8176        Animation            = UBBarrksEG_NS.UBBarrksEG_NS
8177        AnimationMode        = LOOP
8178      End
8179      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
8180        Model                = UBBarrksEG_DNS
8181        ParticleSysBone      = Smoke01 SmolderingSmoke
8182        Animation            = UBBarrksEG_DNS.UBBarrksEG_DNS
8183        AnimationMode        = LOOP
8184      End
8185      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
8186        Model                = UBBarrksEG_ENS
8187        ParticleSysBone      = Smoke01 SmolderingSmoke
8188        Animation            = UBBarrksEG_ENS.UBBarrksEG_ENS
8189        AnimationMode        = LOOP
8190      End
8191  
8192      ;**************************************************************************************************************************
8193      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
8194      ;for this draw module
8195      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8196        Model              = UBBarracks
8197        Animation          = UBBarracks.UBBarracks
8198        AnimationMode      = LOOP
8199        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8200      End
8201      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
8202        Model              = UBBarracks_D
8203        Animation          = UBBarracks_D.UBBarracks_D
8204        AnimationMode      = LOOP
8205        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8206      End
8207      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
8208        Model              = UBBarracks_E
8209        Animation          = UBBarracks_E.UBBarracks_E
8210        AnimationMode      = LOOP
8211        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8212      End
8213      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
8214        Model              = UBBarracks_N
8215        Animation          = UBBarracks_N.UBBarracks_N
8216        AnimationMode      = LOOP
8217        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8218      End
8219      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
8220        Model              = UBBarracks_DN
8221        Animation          = UBBarracks_DN.UBBarracks_DN
8222        AnimationMode      = LOOP
8223        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8224      End
8225      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
8226        Model              = UBBarracks_EN
8227        Animation          = UBBarracks_EN.UBBarracks_EN
8228        AnimationMode      = LOOP
8229        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8230      End
8231      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
8232        Model              = UBBarracks_S
8233        Animation          = UBBarracks_S.UBBarracks_S
8234        AnimationMode      = LOOP
8235        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8236      End
8237      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
8238        Model              = UBBarracks_DS
8239        Animation          = UBBarracks_DS.UBBarracks_DS
8240        AnimationMode      = LOOP
8241        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8242      End
8243      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
8244        Model              = UBBarracks_ES
8245        Animation          = UBBarracks_ES.UBBarracks_ES
8246        AnimationMode      = LOOP
8247        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8248      End
8249      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
8250        Model              = UBBarracks_NS
8251        Animation          = UBBarracks_NS.UBBarracks_NS
8252        AnimationMode      = LOOP
8253        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8254      End
8255      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
8256        Model              = UBBarracks_DNS
8257        Animation          = UBBarracks_DNS.UBBarracks_DNS
8258        AnimationMode      = LOOP
8259        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8260      End
8261      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
8262        Model              = UBBarracks_ENS
8263        Animation          = UBBarracks_ENS.UBBarracks_ENS
8264        AnimationMode      = LOOP
8265        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8266      End
8267  
8268      ConditionState       = AWAITING_CONSTRUCTION 
8269        Model              = NONE
8270      End
8271      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
8272      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
8273      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
8274      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
8275      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
8276      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
8277      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
8278      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
8279      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
8280      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
8281      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
8282      AliasConditionState  = SOLD 
8283      AliasConditionState  = SOLD DAMAGED
8284      AliasConditionState  = SOLD REALLYDAMAGED
8285      AliasConditionState  = SOLD NIGHT
8286      AliasConditionState  = SOLD NIGHT DAMAGED
8287      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
8288      AliasConditionState  = SOLD SNOW
8289      AliasConditionState  = SOLD SNOW DAMAGED
8290      AliasConditionState  = SOLD SNOW REALLYDAMAGED
8291      AliasConditionState  = SOLD NIGHT SNOW
8292      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
8293      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
8294      AliasConditionState  = GARRISONED SOLD 
8295      AliasConditionState  = GARRISONED SOLD DAMAGED
8296      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
8297      AliasConditionState  = GARRISONED SOLD NIGHT
8298      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
8299      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
8300      AliasConditionState  = GARRISONED SOLD SNOW
8301      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
8302      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
8303      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
8304      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
8305      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
8306      ;**************************************************************************************************************************
8307    End
8308    ; ------------ construction-zone fence -----------------
8309    Draw = W3DModelDraw ModuleTag_02
8310    AnimationsRequirePower = No
8311      DefaultConditionState
8312        Model           = None
8313        TransitionKey   = DOWN_DEFAULT
8314      End
8315      ConditionState    = NIGHT
8316        Model           = None
8317        TransitionKey   = DOWN_DEFAULT
8318      End
8319      ConditionState    = SNOW
8320        Model           = None
8321        TransitionKey   = DOWN_DEFAULT
8322      End
8323      ConditionState    = SNOW NIGHT
8324        Model           = None
8325        TransitionKey   = DOWN_DEFAULT
8326      End
8327      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8328        Model           = UBBarracks_A4
8329        Animation       = UBBarracks_A4.UBBarracks_A4
8330        AnimationMode   = MANUAL
8331        Flags           = START_FRAME_LAST
8332        TransitionKey   = UP_DAY
8333      End
8334      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8335        Model           = UBBarracks_A4N
8336        Animation       = UBBarracks_A4N.UBBarracks_A4N
8337        AnimationMode   = MANUAL
8338        Flags           = START_FRAME_LAST
8339        TransitionKey   = UP_NIGHT
8340      End
8341      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8342        Model           = UBBarracks_A4S
8343        Animation       = UBBarracks_A4S.UBBarracks_A4S
8344        AnimationMode   = MANUAL
8345        Flags           = START_FRAME_LAST
8346        TransitionKey   = UP_SNOW
8347      End
8348      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8349        Model           = UBBarracks_A4SN
8350        Animation       = UBBarracks_A4SN.UBBarracks_A4SN
8351        AnimationMode   = MANUAL
8352        Flags           = START_FRAME_LAST
8353        TransitionKey   = UP_SNOWNIGHT
8354      End
8355      TransitionState   = DOWN_DEFAULT UP_DAY
8356        Model           = UBBarracks_A4
8357        Animation       = UBBarracks_A4.UBBarracks_A4
8358        AnimationMode   = ONCE
8359        AnimationSpeedFactorRange = 1.0 1.0
8360        Flags           = START_FRAME_FIRST
8361      End
8362      TransitionState   = DOWN_DEFAULT UP_NIGHT
8363        Model           = UBBarracks_A4N
8364        Animation       = UBBarracks_A4N.UBBarracks_A4N
8365        AnimationMode   = ONCE
8366        AnimationSpeedFactorRange = 1.0 1.0
8367        Flags           = START_FRAME_FIRST
8368      End
8369      TransitionState   = DOWN_DEFAULT UP_SNOW
8370        Model           = UBBarracks_A4S
8371        Animation       = UBBarracks_A4S.UBBarracks_A4S
8372        AnimationMode   = ONCE
8373        AnimationSpeedFactorRange = 1.0 1.0
8374        Flags           = START_FRAME_FIRST
8375      End
8376      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8377        Model           = UBBarracks_A4SN
8378        Animation       = UBBarracks_A4SN.UBBarracks_A4SN
8379        AnimationMode   = ONCE
8380        AnimationSpeedFactorRange = 1.0 1.0
8381        Flags           = START_FRAME_FIRST
8382      End
8383      TransitionState   = UP_DAY DOWN_DEFAULT
8384        Model           = UBBarracks_A4
8385        Animation       = UBBarracks_A4.UBBarracks_A4
8386        AnimationMode   = ONCE_BACKWARDS
8387        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8388        Flags           = START_FRAME_LAST
8389      End
8390      TransitionState   = UP_NIGHT DOWN_DEFAULT
8391        Model           = UBBarracks_A4N
8392        Animation       = UBBarracks_A4N.UBBarracks_A4N
8393        AnimationMode   = ONCE_BACKWARDS
8394        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8395        Flags           = START_FRAME_LAST
8396      End
8397      TransitionState   = UP_SNOW DOWN_DEFAULT
8398        Model           = UBBarracks_A4S
8399        Animation       = UBBarracks_A4S.UBBarracks_A4S
8400        AnimationMode   = ONCE_BACKWARDS
8401        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8402        Flags           = START_FRAME_LAST
8403      End
8404      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8405        Model           = UBBarracks_A4SN
8406        Animation       = UBBarracks_A4SN.UBBarracks_A4SN
8407        AnimationMode   = ONCE_BACKWARDS
8408        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8409        Flags           = START_FRAME_LAST
8410      End
8411    End
8412  
8413    ; ------------ under-construction scaffolding -----------------
8414    Draw = W3DModelDraw ModuleTag_03
8415    AnimationsRequirePower = No
8416      MinLODRequired = MEDIUM
8417      DefaultConditionState
8418        Model           = None
8419        TransitionKey   = DOWN_DEFAULT
8420      End
8421      ConditionState    = NIGHT
8422        Model           = None
8423        TransitionKey   = DOWN_DEFAULT
8424      End
8425      ConditionState    = SNOW
8426        Model           = None
8427        TransitionKey   = DOWN_DEFAULT
8428      End
8429      ConditionState    = SNOW NIGHT
8430        Model           = None
8431        TransitionKey   = DOWN_DEFAULT
8432      End
8433      ConditionState    = PARTIALLY_CONSTRUCTED
8434        Model           = UBBarracks_A6
8435        Animation       = UBBarracks_A6.UBBarracks_A6
8436        AnimationMode   = MANUAL
8437        Flags           = START_FRAME_LAST
8438        TransitionKey   = UP_DAY
8439        ParticleSysBone = Dust01 BuildingDust
8440        ParticleSysBone = Smoke01 BuildUpSmoke
8441        ParticleSysBone = Smoke02 BuildUpSmoke
8442        ParticleSysBone = Smoke03 BuildUpSmoke
8443        ParticleSysBone = Smoke04 BuildUpSmoke
8444        ParticleSysBone = Smoke05 BuildUpSmoke
8445        ParticleSysBone = Smoke06 BuildUpSmoke
8446      End
8447      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
8448        Model           = UBBarracks_A6N
8449        Animation       = UBBarracks_A6N.UBBarracks_A6N
8450        AnimationMode   = MANUAL
8451        Flags           = START_FRAME_LAST
8452        TransitionKey   = UP_NIGHT
8453        ParticleSysBone = Dust01 BuildingDust
8454        ParticleSysBone = Smoke01 BuildUpSmoke
8455        ParticleSysBone = Smoke02 BuildUpSmoke
8456        ParticleSysBone = Smoke03 BuildUpSmoke
8457        ParticleSysBone = Smoke04 BuildUpSmoke
8458        ParticleSysBone = Smoke05 BuildUpSmoke
8459        ParticleSysBone = Smoke06 BuildUpSmoke
8460      End
8461      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
8462        Model           = UBBarracks_A6S
8463        Animation       = UBBarracks_A6S.UBBarracks_A6S
8464        AnimationMode   = MANUAL
8465        Flags           = START_FRAME_LAST
8466        TransitionKey   = UP_SNOW
8467        ParticleSysBone = Dust01 BuildingSnowDust
8468        ParticleSysBone = Smoke01 BuildUpSnowSmoke
8469        ParticleSysBone = Smoke02 BuildUpSnowSmoke
8470        ParticleSysBone = Smoke03 BuildUpSnowSmoke
8471        ParticleSysBone = Smoke04 BuildUpSnowSmoke
8472        ParticleSysBone = Smoke05 BuildUpSnowSmoke
8473        ParticleSysBone = Smoke06 BuildUpSnowSmoke
8474      End
8475      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
8476        Model           = UBBarracks_A6SN
8477        Animation       = UBBarracks_A6SN.UBBarracks_A6SN
8478        AnimationMode   = MANUAL
8479        Flags           = START_FRAME_LAST
8480        TransitionKey   = UP_SNOWNIGHT
8481        ParticleSysBone = Dust01 BuildingNightSnowDust
8482        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
8483        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
8484        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
8485        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
8486        ParticleSysBone = Smoke05 BuildUpNightSnowSmoke
8487        ParticleSysBone = Smoke06 BuildUpNightSnowSmoke
8488      End
8489      TransitionState   = DOWN_DEFAULT UP_DAY
8490       Model            = UBBarracks_A6
8491        Animation       = UBBarracks_A6.UBBarracks_A6
8492        AnimationMode   = ONCE
8493        AnimationSpeedFactorRange = 1.0 1.0
8494        Flags           = START_FRAME_FIRST
8495      End
8496      TransitionState   = DOWN_DEFAULT UP_NIGHT
8497       Model            = UBBarracks_A6N
8498        Animation       = UBBarracks_A6N.UBBarracks_A6N
8499        AnimationMode   = ONCE
8500        AnimationSpeedFactorRange = 1.0 1.0
8501        Flags           = START_FRAME_FIRST
8502      End
8503      TransitionState   = DOWN_DEFAULT UP_SNOW
8504       Model            = UBBarracks_A6S
8505        Animation       = UBBarracks_A6S.UBBarracks_A6S
8506        AnimationMode   = ONCE
8507        AnimationSpeedFactorRange = 1.0 1.0
8508        Flags           = START_FRAME_FIRST
8509      End
8510      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
8511       Model            = UBBarracks_A6SN
8512        Animation       = UBBarracks_A6SN.UBBarracks_A6SN
8513        AnimationMode   = ONCE
8514        AnimationSpeedFactorRange = 1.0 1.0
8515        Flags           = START_FRAME_FIRST
8516      End
8517      TransitionState   = UP_DAY DOWN_DEFAULT
8518        Model           = UBBarracks_A6
8519        Animation       = UBBarracks_A6.UBBarracks_A6
8520        AnimationMode   = ONCE_BACKWARDS
8521        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8522        Flags           = START_FRAME_LAST
8523      End
8524      TransitionState   = UP_NIGHT DOWN_DEFAULT
8525        Model           = UBBarracks_A6N
8526        Animation       = UBBarracks_A6N.UBBarracks_A6N
8527        AnimationMode   = ONCE_BACKWARDS
8528        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8529        Flags           = START_FRAME_LAST
8530      End
8531      TransitionState   = UP_SNOW DOWN_DEFAULT
8532        Model           = UBBarracks_A6S
8533        Animation       = UBBarracks_A6S.UBBarracks_A6S
8534        AnimationMode   = ONCE_BACKWARDS
8535        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8536        Flags           = START_FRAME_LAST
8537      End
8538      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
8539        Model           = UBBarracks_A6SN
8540        Animation       = UBBarracks_A6SN.UBBarracks_A6SN
8541        AnimationMode   = ONCE_BACKWARDS
8542        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
8543        Flags           = START_FRAME_LAST
8544      End
8545    End
8546  
8547    PlacementViewAngle = -135
8548  
8549    ; ***DESIGN parameters ***
8550    DisplayName      = OBJECT:Barracks
8551    Side             = GLAToxinGeneral
8552    EditorSorting    = STRUCTURE
8553    Prerequisites
8554      Object = Chem_GLACommandCenter
8555    End
8556    BuildCost        = 125
8557    BuildTime        = 5.0           ; in seconds
8558    EnergyProduction = 0
8559    CommandSet       = FakeGLABarracksCommandSet
8560    VisionRange      = 200.0           ; Shroud clearing distance
8561    ShroudClearingRange = 200
8562  
8563    WeaponSet
8564      Conditions          = None 
8565      Weapon = PRIMARY SuicideWeapon
8566      AutoChooseSources = PRIMARY None
8567    End
8568  
8569    ArmorSet
8570      Conditions      = None
8571      Armor           = StructureArmor
8572      DamageFX        = StructureDamageFXNoShake
8573    End
8574    ExperienceValue     = 25 25 25 25  ; Experience point value at each level
8575  
8576    ; *** AUDIO Parameters ***
8577    VoiceSelect = BarracksGLASelect
8578    SoundOnDamaged        = BuildingDamagedStateLight
8579    SoundOnReallyDamaged  = BuildingDestroy
8580  
8581    UnitSpecificSounds
8582      UnderConstruction     = UnderConstructionLoop
8583    End
8584  
8585    ; *** ENGINEERING Parameters ***
8586    RadarPriority   = STRUCTURE
8587    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE
8588    Body            = StructureBody ModuleTag_04
8589      MaxHealth     = 125.0
8590      InitialHealth = 125.0
8591  
8592      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
8593      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
8594      SubdualDamageCap = 325
8595      SubdualDamageHealRate = 500
8596      SubdualDamageHealAmount = 100
8597    End
8598  
8599    Behavior = AIUpdateInterface ModuleTag_06
8600      AutoAcquireEnemiesWhenIdle = No
8601    End
8602  
8603    Behavior        = CreateObjectDie ModuleTag_08
8604      CreationList  = OCL_LargeStructureDebris
8605    End
8606    Behavior        = FXListDie ModuleTag_09
8607      DeathFX       = FX_StructureSmallDeath
8608    End
8609  
8610    Behavior = ProductionUpdate ModuleTag_10
8611      ; nothing
8612    End
8613  
8614    Behavior = FlammableUpdate ModuleTag_11
8615      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
8616      AflameDamageAmount = 5       ; taking this much damage...
8617      AflameDamageDelay = 500       ; this often.
8618    End
8619  
8620    Behavior = TransitionDamageFX ModuleTag_12
8621      ;-------------DESIGNED FOR SMALL MEDIUM FACTION BUILDING TRANSITIONS-------------------
8622      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
8623      ;---------------------------------------------------------------------------------------
8624      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
8625      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
8626      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
8627    End
8628  
8629    Behavior = SlowDeathBehavior ModuleTag_13
8630      ExemptStatus = UNDER_CONSTRUCTION
8631      DestructionDelay = 0
8632      Weapon = FINAL FakeStructureDetonationWeapon
8633    End
8634    Behavior = DestroyDie ModuleTag_SlowDeathException
8635      RequiredStatus = UNDER_CONSTRUCTION
8636    End
8637  
8638    Behavior = ReplaceObjectUpgrade ModuleTag_14
8639      ReplaceObject = Chem_GLABarracks
8640      TriggeredBy = Upgrade_BecomeRealGLABarracks
8641    End
8642  
8643    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
8644      ConditionFlag = GARRISONED
8645      TriggeredBy   = Upgrade_GLAFortifiedStructure
8646    End
8647  
8648    Geometry            = BOX
8649    GeometryMajorRadius = 42.0
8650    GeometryMinorRadius = 52.0
8651    GeometryHeight      = 20.0
8652    GeometryIsSmall     = No
8653    FactoryExitWidth    = 25 
8654    Shadow          = SHADOW_VOLUME
8655    ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure.
8656    ShadowSizeX = 120
8657    ShadowSizeY = 110
8658    BuildCompletion = PLACED_BY_PLAYER
8659  
8660  End
8661  
8662  ;------------------------------------------------------------------------------
8663  ObjectReskin Chem_GLAHoleBarracks Chem_GLAHole
8664    Draw                     = W3DModelDraw ModuleTag_01
8665      OkToChangeModelColor   = Yes
8666      ConditionState         = NONE
8667        Model                = UBHole
8668      End
8669      ConditionState         = DAMAGED
8670        Model                = UBHole_D
8671        ParticleSysBone      = Smoke01 SteamVent
8672      End
8673      ConditionState         = REALLYDAMAGED
8674        Model                = UBHole_E
8675        ParticleSysBone      = Smoke01 SteamVent
8676        ParticleSysBone      = Smoke02 SteamVent
8677        ParticleSysBone      = Fire01 GLAPowerPlantFlame
8678        ParticleSysBone      = Fire02 GLAPowerPlantFlame
8679        ParticleSysBone      = Fire03 GLAPowerPlantFlame
8680      End
8681    End
8682    Draw                     = W3DModelDraw ModuleTag_02
8683      OkToChangeModelColor   = Yes
8684      ConditionState         = NONE
8685        Model                = UBBarracks_R
8686        ParticleSysBone      = FLame01 FireSmallContinuous
8687        ParticleSysBone      = Flame02 FireSmallContinuous
8688        ParticleSysBone      = Smoke01 SmolderingSmoke
8689        ParticleSysBone      = Smoke02 SmolderingSmoke
8690        ParticleSysBone      = Smoke04 SmolderingSmoke
8691        ParticleSysBone      = Smoke05 SmolderingSmoke
8692      End
8693      ConditionState         = DAMAGED REALLYDAMAGED
8694        Model                = UBBarracks_R
8695        ParticleSysBone      = FLame01 FireSmallContinuous
8696        ParticleSysBone      = Flame02 FireSmallContinuous
8697        ParticleSysBone      = Smoke01 SmolderingSmoke
8698        ParticleSysBone      = Smoke02 SmolderingSmoke
8699        ParticleSysBone      = Smoke04 SmolderingSmoke
8700        ParticleSysBone      = Smoke05 SmolderingSmoke
8701      End
8702    End
8703  End
8704  
8705  
8706  
8707  
8708  ;------------------------------------------------------------------------------
8709  ;GLA Arms Dealer
8710  Object Chem_GLAArmsDealer
8711  
8712    ; *** ART Parameters ***
8713    SelectPortrait         = SUArmsDealer_L
8714    ButtonImage            = SUArmsDealer
8715  
8716  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
8717  
8718    ; ----------------- Main Building -------------------
8719    Draw = W3DModelDraw ModuleTag_01
8720      OkToChangeModelColor = Yes
8721      ; day
8722      ConditionState       = NONE
8723        Model              = UBArmDeal
8724        Animation          = UBArmDeal.UBArmDeal
8725        AnimationMode      = LOOP
8726        ParticleSysBone    = Smoke01 SmolderingSmoke
8727        ParticleSysBone    = Steam01 SteamVent
8728      End
8729      ;damaged
8730      ConditionState    = DAMAGED
8731        Model           = UBArmDeal_D
8732        Animation       = UBArmDeal_D.UBArmDeal_D
8733        AnimationMode   = LOOP
8734        ParticleSysBone = Smoke01 SmolderingSmoke
8735  ;     ParticleSysBone = Smoke02 SmolderingSmoke
8736  ;     ParticleSysBone = Smoke03 SmolderingSmoke
8737  ;     ParticleSysBone = Smoke04 SmolderingSmoke
8738  ;     ParticleSysBone = Smoke05 SmolderingSmoke
8739  ;     ParticleSysBone = Smoke06 SmolderingSmoke
8740  ;     ParticleSysBone = Fire02 SmolderingFire
8741  ;     ParticleSysBone = Fire03 SmolderingFire
8742  ;     ParticleSysBone = Fire04 SmolderingFire
8743  ;     ParticleSysBone = Fire05 SmolderingFire
8744  ;     ParticleSysBone = Fire06 SmolderingFire
8745      End
8746      ;really damaged
8747      ConditionState    = REALLYDAMAGED RUBBLE
8748        Model           = UBArmDeal_E
8749        Animation       = UBArmDeal_E.UBArmDeal_E
8750        AnimationMode   = LOOP
8751        ParticleSysBone = Smoke01 SmolderingSmoke
8752  ;     ParticleSysBone = Smoke02 SmolderingSmoke
8753  ;     ParticleSysBone = Smoke03 SmolderingSmoke
8754  ;     ParticleSysBone = Smoke04 SmolderingSmoke
8755  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
8756  ;     ParticleSysBone = Smoke06 SmolderingSmoke
8757  ;     ParticleSysBone = Smoke07 SmolderingSmoke
8758  ;     ParticleSysBone = Fire02 SmolderingFire
8759  ;     ParticleSysBone = Fire03 SmolderingFire
8760  ;     ParticleSysBone = Fire04 SmolderingFire
8761  ;     ParticleSysBone = Fire05 FireFactionLarge
8762  ;     ParticleSysBone = Fire06 SmolderingFire
8763  ;     ParticleSysBone = Fire07 SmolderingFire
8764       End
8765      ConditionState         = GARRISONED
8766        Model                = UBArmDlEG
8767        ParticleSysBone      = Smoke01 SmolderingSmoke
8768        Animation            = UBArmDlEG.UBArmDlEG
8769        AnimationMode        = LOOP
8770      End
8771      ConditionState         = DAMAGED GARRISONED
8772        Model                = UBArmDlEG_D
8773        ParticleSysBone      = Smoke01 SmolderingSmoke
8774        Animation            = UBArmDlEG_D.UBArmDlEG_D
8775        AnimationMode        = LOOP
8776      End
8777      ConditionState         = REALLYDAMAGED GARRISONED
8778        Model                = UBArmDlEG_E
8779        ParticleSysBone      = Smoke01 SmolderingSmoke
8780        Animation            = UBArmDlEG_E.UBArmDlEG_E
8781        AnimationMode        = LOOP
8782      End
8783  
8784      ; snow
8785      ConditionState       = SNOW
8786        Model              = UBArmDeal_S
8787        Animation          = UBArmDeal_S.UBArmDeal_S
8788        AnimationMode      = LOOP
8789        ParticleSysBone    = Smoke01 SmolderingSmoke
8790        ParticleSysBone    = Steam01 SteamVent
8791      End
8792      ;damaged
8793      ConditionState    = DAMAGED SNOW
8794        Model           = UBArmDeal_DS
8795        Animation       = UBArmDeal_DS.UBArmDeal_DS
8796        AnimationMode   = LOOP
8797        ParticleSysBone = Smoke01 SmolderingSmoke
8798  ;     ParticleSysBone = Smoke02 SmolderingSmoke
8799  ;     ParticleSysBone = Smoke03 SmolderingSmoke
8800  ;     ParticleSysBone = Smoke04 SmolderingSmoke
8801  ;     ParticleSysBone = Smoke05 SmolderingSmoke
8802  ;     ParticleSysBone = Smoke06 SmolderingSmoke
8803  ;     ParticleSysBone = Fire02 SmolderingFire
8804  ;     ParticleSysBone = Fire03 SmolderingFire
8805  ;     ParticleSysBone = Fire04 SmolderingFire
8806  ;     ParticleSysBone = Fire05 SmolderingFire
8807  ;     ParticleSysBone = Fire06 SmolderingFire
8808      End
8809      ;really damaged
8810      ConditionState    = REALLYDAMAGED RUBBLE SNOW
8811        Model           = UBArmDeal_ES
8812        Animation       = UBArmDeal_ES.UBArmDeal_ES
8813        AnimationMode   = LOOP
8814        ParticleSysBone = Smoke01 SmolderingSmoke
8815  ;     ParticleSysBone = Smoke02 SmolderingSmoke
8816  ;     ParticleSysBone = Smoke03 SmolderingSmoke
8817  ;     ParticleSysBone = Smoke04 SmolderingSmoke
8818  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
8819  ;     ParticleSysBone = Smoke06 SmolderingSmoke
8820  ;     ParticleSysBone = Smoke07 SmolderingSmoke
8821  ;     ParticleSysBone = Fire02 SmolderingFire
8822  ;     ParticleSysBone = Fire03 SmolderingFire
8823  ;     ParticleSysBone = Fire04 SmolderingFire
8824  ;     ParticleSysBone = Fire05 FireFactionLarge
8825  ;     ParticleSysBone = Fire06 SmolderingFire
8826  ;     ParticleSysBone = Fire07 SmolderingFire
8827       End
8828      ConditionState         = GARRISONED SNOW
8829        Model                = UBArmDlEG_S
8830        ParticleSysBone      = Smoke01 SmolderingSmoke
8831        Animation            = UBArmDlEG_S.UBArmDlEG_S
8832        AnimationMode        = LOOP
8833      End
8834      ConditionState         = DAMAGED GARRISONED SNOW
8835        Model                = UBArmDlEG_DS
8836        ParticleSysBone      = Smoke01 SmolderingSmoke
8837        Animation            = UBArmDlEG_DS.UBArmDlEG_DS
8838        AnimationMode        = LOOP
8839      End
8840      ConditionState         = REALLYDAMAGED GARRISONED SNOW
8841        Model                = UBArmDlEG_ES
8842        ParticleSysBone      = Smoke01 SmolderingSmoke
8843        Animation            = UBArmDlEG_ES.UBArmDlEG_ES
8844        AnimationMode        = LOOP
8845      End
8846  
8847      ; night
8848      ConditionState    = NIGHT
8849        Model           = UBArmDeal_N
8850        Animation       = UBArmDeal_N.UBArmDeal_N
8851        AnimationMode   = LOOP
8852        ParticleSysBone = Smoke01 SmolderingSmoke
8853        ParticleSysBone = Steam01 SteamVent
8854      End
8855      ConditionState    = DAMAGED NIGHT
8856        Model           = UBArmDeal_DN
8857        Animation       = UBArmDeal_DN.UBArmDeal_DN
8858        AnimationMode   = LOOP
8859        ParticleSysBone = Smoke01 SmolderingSmoke
8860      End
8861      ConditionState    = REALLYDAMAGED RUBBLE NIGHT
8862        Model           = UBArmDeal_EN
8863        Animation       = UBArmDeal_EN.UBArmDeal_EN
8864        AnimationMode   = LOOP
8865        ParticleSysBone = Smoke01 SmolderingSmoke
8866      End
8867      ConditionState         = GARRISONED NIGHT
8868        Model                = UBArmDlEG_N
8869        ParticleSysBone      = Smoke01 SmolderingSmoke
8870        Animation            = UBArmDlEG_N.UBArmDlEG_N
8871        AnimationMode        = LOOP
8872      End
8873      ConditionState         = DAMAGED GARRISONED NIGHT
8874        Model                = UBArmDlEG_DN
8875        ParticleSysBone      = Smoke01 SmolderingSmoke
8876        Animation            = UBArmDlEG_DN.UBArmDlEG_DN
8877        AnimationMode        = LOOP
8878      End
8879      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
8880        Model                = UBArmDlEG_EN
8881        ParticleSysBone      = Smoke01 SmolderingSmoke
8882        Animation            = UBArmDlEG_EN.UBArmDlEG_EN
8883        AnimationMode        = LOOP
8884      End
8885       
8886       ; night snow
8887      ConditionState    = NIGHT SNOW
8888        Model           = UBArmDeal_NS
8889        Animation       = UBArmDeal_NS.UBArmDeal_NS
8890        AnimationMode   = LOOP
8891        ParticleSysBone = Smoke01 SmolderingSmoke
8892        ParticleSysBone = Steam01 SteamVent
8893      End
8894      ConditionState    = DAMAGED NIGHT SNOW
8895        Model           = UBArmDeal_DNS
8896        Animation       = UBArmDeal_DNS.UBArmDeal_DNS
8897        AnimationMode   = LOOP
8898        ParticleSysBone = Smoke01 SmolderingSmoke
8899      End
8900      ConditionState    = REALLYDAMAGED RUBBLE NIGHT SNOW
8901        Model           = UBArmDeal_ENS
8902        Animation       = UBArmDeal_ENS.UBArmDeal_ENS
8903        AnimationMode   = LOOP
8904        ParticleSysBone = Smoke01 SmolderingSmoke
8905      End
8906      ConditionState         = GARRISONED NIGHT SNOW
8907        Model                = UBArmDlEG_NS
8908        ParticleSysBone      = Smoke01 SmolderingSmoke
8909        Animation            = UBArmDlEG_NS.UBArmDlEG_NS
8910        AnimationMode        = LOOP
8911      End
8912      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
8913        Model                = UBArmDlEG_DNS
8914        ParticleSysBone      = Smoke01 SmolderingSmoke
8915        Animation            = UBArmDlEG_DNS.UBArmDlEG_DNS
8916        AnimationMode        = LOOP
8917      End
8918      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
8919        Model                = UBArmDlEG_ENS
8920        ParticleSysBone      = Smoke01 SmolderingSmoke
8921        Animation            = UBArmDlEG_ENS.UBArmDlEG_ENS
8922        AnimationMode        = LOOP
8923      End
8924      
8925      ;**************************************************************************************************************************
8926      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
8927      ;for this draw module
8928      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
8929        Model              = UBArmDeal
8930        Animation          = UBArmDeal.UBArmDeal
8931        AnimationMode      = LOOP
8932        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8933      End
8934      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
8935        Model              = UBArmDeal_D
8936        Animation          = UBArmDeal_D.UBArmDeal_D
8937        AnimationMode      = LOOP
8938        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8939      End
8940      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
8941        Model              = UBArmDeal_E
8942        Animation          = UBArmDeal_E.UBArmDeal_E
8943        AnimationMode      = LOOP
8944        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8945      End
8946      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
8947        Model              = UBArmDeal_N
8948        Animation          = UBArmDeal_N.UBArmDeal_N
8949        AnimationMode      = LOOP
8950        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8951      End
8952      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
8953        Model              = UBArmDeal_DN
8954        Animation          = UBArmDeal_DN.UBArmDeal_DN
8955        AnimationMode      = LOOP
8956        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8957      End
8958      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
8959        Model              = UBArmDeal_EN
8960        Animation          = UBArmDeal_EN.UBArmDeal_EN
8961        AnimationMode      = LOOP
8962        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8963      End
8964      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
8965        Model              = UBArmDeal_S
8966        Animation          = UBArmDeal_S.UBArmDeal_S
8967        AnimationMode      = LOOP
8968        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8969      End
8970      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
8971        Model              = UBArmDeal_DS
8972        Animation          = UBArmDeal_DS.UBArmDeal_DS
8973        AnimationMode      = LOOP
8974        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8975      End
8976      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
8977        Model              = UBArmDeal_ES
8978        Animation          = UBArmDeal_ES.UBArmDeal_ES
8979        AnimationMode      = LOOP
8980        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8981      End
8982      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
8983        Model              = UBArmDeal_NS
8984        Animation          = UBArmDeal_NS.UBArmDeal_NS
8985        AnimationMode      = LOOP
8986        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8987      End
8988      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
8989        Model              = UBArmDeal_DNS
8990        Animation          = UBArmDeal_DNS.UBArmDeal_DNS
8991        AnimationMode      = LOOP
8992        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8993      End
8994      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
8995        Model              = UBArmDeal_ENS
8996        Animation          = UBArmDeal_ENS.UBArmDeal_ENS
8997        AnimationMode      = LOOP
8998        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
8999      End
9000  
9001      ConditionState       = AWAITING_CONSTRUCTION 
9002        Model              = NONE
9003      End
9004      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
9005      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
9006      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
9007      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
9008      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
9009      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
9010      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
9011      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
9012      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
9013      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
9014      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
9015      AliasConditionState  = SOLD 
9016      AliasConditionState  = SOLD DAMAGED
9017      AliasConditionState  = SOLD REALLYDAMAGED
9018      AliasConditionState  = SOLD NIGHT
9019      AliasConditionState  = SOLD NIGHT DAMAGED
9020      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
9021      AliasConditionState  = SOLD SNOW
9022      AliasConditionState  = SOLD SNOW DAMAGED
9023      AliasConditionState  = SOLD SNOW REALLYDAMAGED
9024      AliasConditionState  = SOLD NIGHT SNOW
9025      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
9026      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
9027      AliasConditionState  = GARRISONED SOLD 
9028      AliasConditionState  = GARRISONED SOLD DAMAGED
9029      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
9030      AliasConditionState  = GARRISONED SOLD NIGHT
9031      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
9032      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
9033      AliasConditionState  = GARRISONED SOLD SNOW
9034      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
9035      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
9036      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
9037      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
9038      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
9039      ;**************************************************************************************************************************
9040      
9041   
9042    End
9043    
9044    ; ------------ construction-zone fence -----------------
9045    Draw = W3DModelDraw ModuleTag_02
9046    AnimationsRequirePower = No
9047      DefaultConditionState
9048        Model           = None
9049        TransitionKey   = DOWN_DEFAULT
9050      End
9051      ConditionState    = NIGHT
9052        Model           = None
9053        TransitionKey   = DOWN_DEFAULT
9054      End
9055      ConditionState    = SNOW
9056        Model           = None
9057        TransitionKey   = DOWN_DEFAULT
9058      End
9059      ConditionState    = SNOW NIGHT
9060        Model           = None
9061        TransitionKey   = DOWN_DEFAULT
9062      End
9063      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9064        Model           = UBArmDeal_A4
9065        Animation       = UBArmDeal_A4.UBArmDeal_A4
9066        AnimationMode   = MANUAL
9067        Flags           = START_FRAME_LAST
9068        TransitionKey   = UP_DAY
9069      End
9070      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9071        Model           = UBArmDeal_A4N
9072        Animation       = UBArmDeal_A4N.UBArmDeal_A4N
9073        AnimationMode   = MANUAL
9074        Flags           = START_FRAME_LAST
9075        TransitionKey   = UP_NIGHT
9076      End
9077      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9078        Model           = UBArmDeal_A4S
9079        Animation       = UBArmDeal_A4S.UBArmDeal_A4S
9080        AnimationMode   = MANUAL
9081        Flags           = START_FRAME_LAST
9082        TransitionKey   = UP_SNOW
9083      End
9084      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9085        Model           = UBArmDeal_A4SN
9086        Animation       = UBArmDeal_A4SN.UBArmDeal_A4SN
9087        AnimationMode   = MANUAL
9088        Flags           = START_FRAME_LAST
9089        TransitionKey   = UP_SNOWNIGHT
9090      End
9091      TransitionState   = DOWN_DEFAULT UP_DAY
9092        Model           = UBArmDeal_A4
9093        Animation       = UBArmDeal_A4.UBArmDeal_A4
9094        AnimationMode   = ONCE
9095        AnimationSpeedFactorRange = 1.0 1.0
9096        Flags           = START_FRAME_FIRST
9097      End
9098      TransitionState   = DOWN_DEFAULT UP_NIGHT
9099        Model           = UBArmDeal_A4N
9100        Animation       = UBArmDeal_A4N.UBArmDeal_A4N
9101        AnimationMode   = ONCE
9102        AnimationSpeedFactorRange = 1.0 1.0
9103        Flags           = START_FRAME_FIRST
9104      End
9105      TransitionState   = DOWN_DEFAULT UP_SNOW
9106        Model           = UBArmDeal_A4S
9107        ; @todo srj -- anim missing
9108        Animation       = UBArmDeal_A4S.UBArmDeal_A4S
9109        AnimationMode   = ONCE
9110        AnimationSpeedFactorRange = 1.0 1.0
9111        Flags           = START_FRAME_FIRST
9112      End
9113      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9114        Model           = UBArmDeal_A4SN
9115        ; @todo srj -- anim missing
9116        Animation       = UBArmDeal_A4SN.UBArmDeal_A4SN
9117        AnimationMode   = ONCE
9118        AnimationSpeedFactorRange = 1.0 1.0
9119        Flags           = START_FRAME_FIRST
9120      End
9121      TransitionState   = UP_DAY DOWN_DEFAULT
9122        Model           = UBArmDeal_A4
9123        Animation       = UBArmDeal_A4.UBArmDeal_A4
9124        AnimationMode   = ONCE_BACKWARDS
9125        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9126        Flags           = START_FRAME_LAST
9127      End
9128      TransitionState   = UP_NIGHT DOWN_DEFAULT
9129        Model           = UBArmDeal_A4N
9130        Animation       = UBArmDeal_A4N.UBArmDeal_A4N
9131        AnimationMode   = ONCE_BACKWARDS
9132        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9133        Flags           = START_FRAME_LAST
9134      End
9135  
9136      TransitionState   = UP_SNOW DOWN_DEFAULT
9137        Model           = UBArmDeal_A4S
9138        ; @todo srj -- anim missing
9139        Animation       = UBArmDeal_A4S.UBArmDeal_A4S
9140        AnimationMode   = ONCE_BACKWARDS
9141        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9142        Flags           = START_FRAME_LAST
9143      End
9144      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9145        Model           = UBArmDeal_A4SN
9146        Animation       = UBArmDeal_A4SN.UBArmDeal_A4SN
9147        AnimationMode   = ONCE_BACKWARDS
9148        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9149        Flags           = START_FRAME_LAST
9150      End
9151    End
9152  
9153    ; ------------ under-construction scaffolding -----------------
9154    Draw = W3DModelDraw ModuleTag_03
9155    AnimationsRequirePower = No
9156      MinLODRequired = MEDIUM
9157      DefaultConditionState
9158        Model           = None
9159        TransitionKey   = DOWN_DEFAULT
9160      End
9161      ConditionState    = NIGHT
9162        Model           = None
9163        TransitionKey   = DOWN_DEFAULT
9164      End
9165      ConditionState    = SNOW
9166        Model           = None
9167        TransitionKey   = DOWN_DEFAULT
9168      End
9169      ConditionState    = SNOW NIGHT
9170        Model           = None
9171        TransitionKey   = DOWN_DEFAULT
9172      End
9173      ConditionState    = PARTIALLY_CONSTRUCTED
9174        Model           = UBArmDeal_A6
9175        Animation       = UBArmDeal_A6.UBArmDeal_A6
9176        AnimationMode   = MANUAL
9177        Flags           = START_FRAME_LAST
9178        TransitionKey   = UP_DAY
9179        ParticleSysBone = Dust01 BuildingDust
9180        ParticleSysBone = Smoke01 BuildUpSmoke
9181        ParticleSysBone = Smoke02 BuildUpSmoke
9182        ParticleSysBone = Smoke03 BuildUpSmoke
9183        ParticleSysBone = Smoke04 BuildUpSmoke
9184      End
9185      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
9186        Model           = UBArmDeal_A6N
9187        Animation       = UBArmDeal_A6N.UBArmDeal_A6N
9188        AnimationMode   = MANUAL
9189        Flags           = START_FRAME_LAST
9190        TransitionKey   = UP_NIGHT
9191        ParticleSysBone = Dust01 BuildingDust
9192        ParticleSysBone = Smoke01 BuildUpSmoke
9193        ParticleSysBone = Smoke02 BuildUpSmoke
9194        ParticleSysBone = Smoke03 BuildUpSmoke
9195        ParticleSysBone = Smoke04 BuildUpSmoke
9196      End
9197      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
9198        Model           = UBArmDeal_A6S
9199        Animation       = UBArmDeal_A6S.UBArmDeal_A6S
9200        AnimationMode   = MANUAL
9201        Flags           = START_FRAME_LAST
9202        TransitionKey   = UP_SNOW
9203        ParticleSysBone = Dust01 BuildingSnowDust
9204        ParticleSysBone = Smoke01 BuildUpSnowSmoke
9205        ParticleSysBone = Smoke02 BuildUpSnowSmoke
9206        ParticleSysBone = Smoke03 BuildUpSnowSmoke
9207        ParticleSysBone = Smoke04 BuildUpSnowSmoke
9208      End
9209      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
9210        Model           = UBArmDeal_A6SN
9211        Animation       = UBArmDeal_A6SN.UBArmDeal_A6SN
9212        AnimationMode   = MANUAL
9213        Flags           = START_FRAME_LAST
9214        TransitionKey   = UP_SNOWNIGHT
9215        ParticleSysBone = Dust01 BuildingNightSnowDust
9216        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
9217        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
9218        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
9219        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
9220      End
9221      TransitionState   = DOWN_DEFAULT UP_DAY
9222       Model            = UBArmDeal_A6
9223        Animation       = UBArmDeal_A6.UBArmDeal_A6
9224        AnimationMode   = ONCE
9225        AnimationSpeedFactorRange = 1.0 1.0
9226        Flags           = START_FRAME_FIRST
9227      End
9228      TransitionState   = DOWN_DEFAULT UP_NIGHT
9229       Model            = UBArmDeal_A6N
9230        Animation       = UBArmDeal_A6N.UBArmDeal_A6N
9231        AnimationMode   = ONCE
9232        AnimationSpeedFactorRange = 1.0 1.0
9233        Flags           = START_FRAME_FIRST
9234      End
9235      TransitionState   = DOWN_DEFAULT UP_SNOW
9236       Model            = UBArmDeal_A6S
9237        Animation       = UBArmDeal_A6S.UBArmDeal_A6S
9238        AnimationMode   = ONCE
9239        AnimationSpeedFactorRange = 1.0 1.0
9240        Flags           = START_FRAME_FIRST
9241      End
9242      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
9243       Model            = UBArmDeal_A6SN
9244        Animation       = UBArmDeal_A6SN.UBArmDeal_A6SN
9245        AnimationMode   = ONCE
9246        AnimationSpeedFactorRange = 1.0 1.0
9247        Flags           = START_FRAME_FIRST
9248      End
9249      TransitionState   = UP_DAY DOWN_DEFAULT
9250        Model           = UBArmDeal_A6
9251        Animation       = UBArmDeal_A6.UBArmDeal_A6
9252        AnimationMode   = ONCE_BACKWARDS
9253        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9254        Flags           = START_FRAME_LAST
9255      End
9256      TransitionState   = UP_NIGHT DOWN_DEFAULT
9257        Model           = UBArmDeal_A6N
9258        Animation       = UBArmDeal_A6N.UBArmDeal_A6N
9259        AnimationMode   = ONCE_BACKWARDS
9260        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9261        Flags           = START_FRAME_LAST
9262      End
9263      TransitionState   = UP_SNOW DOWN_DEFAULT
9264        Model           = UBArmDeal_A6S
9265        Animation       = UBArmDeal_A6S.UBArmDeal_A6S
9266        AnimationMode   = ONCE_BACKWARDS
9267        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9268        Flags           = START_FRAME_LAST
9269      End
9270      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
9271        Model           = UBArmDeal_A6SN
9272        Animation       = UBArmDeal_A6SN.UBArmDeal_A6SN
9273        AnimationMode   = ONCE_BACKWARDS
9274        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
9275        Flags           = START_FRAME_LAST
9276      End
9277    End
9278  
9279    ; ----------------- the door -----------------------
9280    Draw = W3DModelDraw ModuleTag_04
9281      DefaultConditionState
9282        Model           = UBArmDeal_A7
9283        Animation       = UBArmDeal_A7.UBArmDeal_A7
9284        AnimationMode   = MANUAL
9285        Flags           = START_FRAME_FIRST
9286      End
9287      AliasConditionState = NIGHT 
9288      AliasConditionState = SNOW
9289      AliasConditionState = NIGHT SNOW
9290      
9291      ConditionState    = DAMAGED
9292        Model           = UBArmDeal_A7D
9293        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
9294        AnimationMode   = MANUAL
9295        Flags           = START_FRAME_FIRST
9296      End
9297      AliasConditionState = NIGHT DAMAGED
9298      AliasConditionState = SNOW DAMAGED
9299      AliasConditionState = SNOW NIGHT DAMAGED
9300  
9301      ConditionState    = REALLYDAMAGED RUBBLE
9302        Model           = UBArmDeal_A7E
9303        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
9304        AnimationMode   = MANUAL
9305        Flags           = START_FRAME_FIRST
9306      End
9307      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
9308      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
9309      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
9310      
9311      
9312      
9313      ConditionState    = DOOR_1_OPENING
9314        Model           = UBArmDeal_A7
9315        Animation       = UBArmDeal_A7.UBArmDeal_A7
9316        AnimationMode   = ONCE
9317        Flags           = START_FRAME_FIRST
9318      End   
9319      AliasConditionState = NIGHT DOOR_1_OPENING
9320      AliasConditionState = SNOW DOOR_1_OPENING
9321      AliasConditionState = SNOW NIGHT DOOR_1_OPENING
9322      
9323      ConditionState    = DOOR_1_OPENING DAMAGED
9324        Model           = UBArmDeal_A7D
9325        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
9326        AnimationMode   = ONCE
9327        Flags           = START_FRAME_FIRST
9328      End   
9329      AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED
9330      AliasConditionState = SNOW DOOR_1_OPENING DAMAGED
9331      AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED
9332      
9333      ConditionState    = DOOR_1_OPENING REALLYDAMAGED RUBBLE
9334        Model           = UBArmDeal_A7E
9335        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
9336        AnimationMode   = ONCE
9337        Flags           = START_FRAME_FIRST
9338      End
9339      AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
9340      AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
9341      AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
9342      
9343      
9344      
9345      ConditionState    = DOOR_1_CLOSING
9346        Model           = UBArmDeal_A7
9347        Animation       = UBArmDeal_A7.UBArmDeal_A7
9348        AnimationMode   = ONCE_BACKWARDS
9349        Flags           = START_FRAME_LAST
9350      End   
9351      AliasConditionState = NIGHT DOOR_1_CLOSING
9352      AliasConditionState = SNOW DOOR_1_CLOSING
9353      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING
9354      
9355      ConditionState    = DOOR_1_CLOSING DAMAGED
9356        Model           = UBArmDeal_A7D
9357        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
9358        AnimationMode   = ONCE_BACKWARDS
9359        Flags           = START_FRAME_LAST
9360      End   
9361      AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED
9362      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED
9363      AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED
9364      
9365      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED RUBBLE
9366        Model           = UBArmDeal_A7E
9367        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
9368        AnimationMode   = ONCE_BACKWARDS
9369        Flags           = START_FRAME_LAST
9370      End   
9371      AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE
9372      AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
9373      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
9374      
9375      
9376      
9377      ConditionState    = DOOR_1_WAITING_OPEN
9378        Model           = UBArmDeal_A7
9379        Animation       = UBArmDeal_A7.UBArmDeal_A7
9380        AnimationMode   = MANUAL
9381        Flags           = START_FRAME_LAST
9382      End   
9383      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
9384      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
9385      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN
9386      
9387      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
9388        Model           = UBArmDeal_A7D
9389        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
9390        AnimationMode   = MANUAL
9391        Flags           = START_FRAME_LAST
9392      End   
9393      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED
9394      AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED
9395      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED
9396      
9397      ConditionState    = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
9398        Model           = UBArmDeal_A7E
9399        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
9400        AnimationMode   = MANUAL
9401        Flags           = START_FRAME_LAST
9402      End
9403      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
9404      AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
9405      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
9406         
9407      ;**************************************************************************************************************************
9408      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
9409      ;for this draw module
9410      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9411        Model              = UBArmDeal_A7
9412        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9413      End
9414      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
9415      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
9416      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
9417      
9418      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9419        Model              = UBArmDeal_A7D
9420        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9421      End
9422      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
9423      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
9424      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
9425      
9426      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
9427        Model              = UBArmDeal_A7E
9428        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9429      End
9430      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
9431      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
9432      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
9433      
9434      ConditionState       = AWAITING_CONSTRUCTION 
9435        Model              = NONE
9436      End
9437      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
9438      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
9439      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
9440      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
9441      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
9442      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
9443      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
9444      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
9445      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
9446      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
9447      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
9448      AliasConditionState  = SOLD DAMAGED
9449      AliasConditionState  = SOLD REALLYDAMAGED
9450      AliasConditionState  = SOLD NIGHT
9451      AliasConditionState  = SOLD NIGHT DAMAGED
9452      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
9453      AliasConditionState  = SOLD SNOW
9454      AliasConditionState  = SOLD SNOW DAMAGED
9455      AliasConditionState  = SOLD SNOW REALLYDAMAGED
9456      AliasConditionState  = SOLD NIGHT SNOW
9457      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
9458      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
9459      ;**************************************************************************************************************************  
9460         
9461         
9462    End
9463    
9464    PlacementViewAngle  = -135
9465    
9466    ; ***DESIGN parameters ***
9467    DisplayName      = OBJECT:ArmsDealer
9468    Side             = GLAToxinGeneral
9469    EditorSorting    = STRUCTURE
9470    Prerequisites
9471      Object = Chem_GLASupplyStash
9472    End
9473    BuildCost        = 2500
9474    BuildTime        = 15.0           ; in seconds
9475    EnergyProduction = 0
9476    CommandSet       = Chem_GLAArmsDealerCommandSet
9477    VisionRange     = 200.0           ; Shroud clearing distance
9478    ShroudClearingRange = 200
9479    ArmorSet
9480      Conditions          = None
9481      Armor               = StructureArmor
9482      DamageFX            = StructureDamageFXNoShake
9483    End
9484    ArmorSet
9485      Conditions        = PLAYER_UPGRADE
9486      Armor             = GLAUpgradedStructureArmor
9487      DamageFX          = StructureDamageFXNoShake
9488    End
9489  
9490    ExperienceValue     = 200 200 200 200  ; Experience point value at each level
9491  
9492    ; *** AUDIO Parameters ***
9493    VoiceSelect = WarFactoryGLASelect
9494    SoundOnDamaged        = BuildingDamagedStateLight
9495    SoundOnReallyDamaged  = BuildingDestroy
9496  
9497    UnitSpecificSounds
9498      UnderConstruction     = UnderConstructionLoop
9499    End
9500  
9501    ; *** ENGINEERING Parameters ***
9502    RadarPriority     = STRUCTURE
9503    KindOf            = PRELOAD STRUCTURE SELECTABLE IMMOBILE REPAIR_PAD CAPTURABLE FS_TECHNOLOGY AUTO_RALLYPOINT MP_COUNT_FOR_VICTORY SCORE_CREATE FS_FACTORY FS_WARFACTORY
9504    Body              = StructureBody ModuleTag_05
9505      MaxHealth       = 2000.0
9506      InitialHealth   = 2000.0
9507  
9508      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
9509      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
9510      SubdualDamageCap = 2200
9511      SubdualDamageHealRate = 500
9512      SubdualDamageHealAmount = 100
9513    End
9514    
9515    Behavior        = ArmorUpgrade ModuleTag_Armor01
9516      TriggeredBy   = Upgrade_GLAFortifiedStructure
9517    End
9518  
9519    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
9520      ConditionFlag = GARRISONED
9521      TriggeredBy   = Upgrade_GLAFortifiedStructure
9522    End
9523  
9524    Behavior               = RebuildHoleExposeDie ModuleTag_06
9525      HoleName        = GLAHoleArmsDealer
9526      HoleMaxHealth   = 500.0
9527    End 
9528    Behavior             = DestroyDie ModuleTag_07
9529      ;nothing
9530    End
9531    Behavior             = CreateObjectDie ModuleTag_08
9532      CreationList  = OCL_LargeStructureDebris
9533    End
9534    Behavior             = FXListDie ModuleTag_09
9535      DeathFX       = FX_StructureMediumDeath
9536    End
9537    Behavior = ProductionUpdate ModuleTag_10
9538      NumDoorAnimations            = 1
9539      DoorOpeningTime              = 2000  ;in mSeconds
9540      DoorWaitOpenTime             = 3000  ;in mSeconds
9541      DoorCloseTime                = 2000  ;in mSeconds
9542      ConstructionCompleteDuration = 1500  ;in mSeconds
9543    End
9544    Behavior = DefaultProductionExitUpdate ModuleTag_11
9545      UnitCreatePoint   = X: -20.0  Y:-15.0   Z:0.0
9546      NaturalRallyPoint = X: 40.0  Y:-15.0   Z:0.0 ;NaturalRallyPointX must always match GeometryMajorRadius! -ML
9547    End
9548    Behavior = RepairDockUpdate ModuleTag_12
9549      TimeForFullHeal   = 5000   ;(in milliseconds)     
9550      NumberApproachPositions = 5
9551    End
9552  
9553    Behavior = FlammableUpdate ModuleTag_14
9554      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
9555      AflameDamageAmount = 5       ; taking this much damage...
9556      AflameDamageDelay = 500       ; this often.
9557    End
9558  
9559    Behavior = TransitionDamageFX ModuleTag_31
9560      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
9561      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
9562      ;---------------------------------------------------------------------------------------
9563      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
9564      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
9565      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
9566    End
9567  
9568    Geometry            = BOX
9569    GeometryMajorRadius = 40.0
9570    GeometryMinorRadius = 62.0
9571    GeometryHeight      = 25.0
9572    GeometryIsSmall     = No
9573    FactoryExitWidth    = 25
9574    Shadow              = SHADOW_VOLUME
9575    BuildCompletion     = PLACED_BY_PLAYER
9576  
9577  End
9578  
9579  
9580  ;------------------------------------------------------------------------------
9581  ObjectReskin Chem_GLAHoleArmsDealer Chem_GLAHole
9582    Draw                     = W3DModelDraw ModuleTag_01
9583      OkToChangeModelColor   = Yes
9584      ConditionState         = NONE
9585        Model                = UBHole
9586      End
9587      ConditionState         = DAMAGED
9588        Model                = UBHole_D
9589        ParticleSysBone      = Smoke01 SteamVent
9590      End
9591      ConditionState         = REALLYDAMAGED
9592        Model                = UBHole_E
9593        ParticleSysBone      = Smoke01 SteamVent
9594        ParticleSysBone      = Smoke02 SteamVent
9595        ParticleSysBone      = Fire01 GLAPowerPlantFlame
9596        ParticleSysBone      = Fire02 GLAPowerPlantFlame
9597        ParticleSysBone      = Fire03 GLAPowerPlantFlame
9598      End
9599    End
9600    Draw                     = W3DModelDraw ModuleTag_02
9601      OkToChangeModelColor   = Yes
9602      ConditionState         = NONE
9603        Model                = UBArmDeal_R
9604        ParticleSysBone      = Smoke04 SmolderingSmoke
9605        ParticleSysBone      = Smoke01 SmolderingSmoke
9606        ParticleSysBone      = Smoke03 SmolderingSmoke
9607      End
9608      ConditionState         = DAMAGED REALLYDAMAGED
9609        Model                = UBArmDeal_R
9610        ParticleSysBone      = Smoke04 SmolderingSmoke
9611        ParticleSysBone      = Smoke01 SmolderingSmoke
9612        ParticleSysBone      = Smoke03 SmolderingSmoke
9613      End
9614    End
9615  End
9616  
9617  ;------------------------------------------------------------------------------
9618  ;GLA Arms Dealer
9619  Object Chem_FakeGLAArmsDealer
9620  
9621    ; *** ART Parameters ***
9622    SelectPortrait         = SUArmsDealer_L
9623    ButtonImage            = SUArmsDealer
9624  
9625  ;  UpgradeCameo1 = Upgrade_GLAFortifiedStructure
9626  
9627    ; ----------------- Main Building -------------------
9628    Draw = W3DModelDraw ModuleTag_01
9629      OkToChangeModelColor = Yes
9630      ; day
9631      ConditionState       = NONE
9632        Model              = UBArmDeal
9633        Animation          = UBArmDeal.UBArmDeal
9634        AnimationMode      = LOOP
9635        ParticleSysBone    = Smoke01 SmolderingSmoke
9636        ParticleSysBone    = Steam01 SteamVent
9637      End
9638      ;damaged
9639      ConditionState    = DAMAGED
9640        Model           = UBArmDeal_D
9641        Animation       = UBArmDeal_D.UBArmDeal_D
9642        AnimationMode   = LOOP
9643        ParticleSysBone = Smoke01 SmolderingSmoke
9644  ;     ParticleSysBone = Smoke02 SmolderingSmoke
9645  ;     ParticleSysBone = Smoke03 SmolderingSmoke
9646  ;     ParticleSysBone = Smoke04 SmolderingSmoke
9647  ;     ParticleSysBone = Smoke05 SmolderingSmoke
9648  ;     ParticleSysBone = Smoke06 SmolderingSmoke
9649  ;     ParticleSysBone = Fire02 SmolderingFire
9650  ;     ParticleSysBone = Fire03 SmolderingFire
9651  ;     ParticleSysBone = Fire04 SmolderingFire
9652  ;     ParticleSysBone = Fire05 SmolderingFire
9653  ;     ParticleSysBone = Fire06 SmolderingFire
9654      End
9655      ;really damaged
9656      ConditionState    = REALLYDAMAGED RUBBLE
9657        Model           = UBArmDeal_E
9658        Animation       = UBArmDeal_E.UBArmDeal_E
9659        AnimationMode   = LOOP
9660        ParticleSysBone = Smoke01 SmolderingSmoke
9661  ;     ParticleSysBone = Smoke02 SmolderingSmoke
9662  ;     ParticleSysBone = Smoke03 SmolderingSmoke
9663  ;     ParticleSysBone = Smoke04 SmolderingSmoke
9664  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
9665  ;     ParticleSysBone = Smoke06 SmolderingSmoke
9666  ;     ParticleSysBone = Smoke07 SmolderingSmoke
9667  ;     ParticleSysBone = Fire02 SmolderingFire
9668  ;     ParticleSysBone = Fire03 SmolderingFire
9669  ;     ParticleSysBone = Fire04 SmolderingFire
9670  ;     ParticleSysBone = Fire05 FireFactionLarge
9671  ;     ParticleSysBone = Fire06 SmolderingFire
9672  ;     ParticleSysBone = Fire07 SmolderingFire
9673       End
9674      ConditionState         = GARRISONED
9675        Model                = UBArmDlEG
9676        ParticleSysBone      = Smoke01 SmolderingSmoke
9677        Animation            = UBArmDlEG.UBArmDlEG
9678        AnimationMode        = LOOP
9679      End
9680      ConditionState         = DAMAGED GARRISONED
9681        Model                = UBArmDlEG_D
9682        ParticleSysBone      = Smoke01 SmolderingSmoke
9683        Animation            = UBArmDlEG_D.UBArmDlEG_D
9684        AnimationMode        = LOOP
9685      End
9686      ConditionState         = REALLYDAMAGED GARRISONED
9687        Model                = UBArmDlEG_E
9688        ParticleSysBone      = Smoke01 SmolderingSmoke
9689        Animation            = UBArmDlEG_E.UBArmDlEG_E
9690        AnimationMode        = LOOP
9691      End
9692  
9693      ; snow
9694      ConditionState       = SNOW
9695        Model              = UBArmDeal_S
9696        Animation          = UBArmDeal_S.UBArmDeal_S
9697        AnimationMode      = LOOP
9698        ParticleSysBone    = Smoke01 SmolderingSmoke
9699        ParticleSysBone    = Steam01 SteamVent
9700      End
9701      ;damaged
9702      ConditionState    = DAMAGED SNOW
9703        Model           = UBArmDeal_DS
9704        Animation       = UBArmDeal_DS.UBArmDeal_DS
9705        AnimationMode   = LOOP
9706        ParticleSysBone = Smoke01 SmolderingSmoke
9707  ;     ParticleSysBone = Smoke02 SmolderingSmoke
9708  ;     ParticleSysBone = Smoke03 SmolderingSmoke
9709  ;     ParticleSysBone = Smoke04 SmolderingSmoke
9710  ;     ParticleSysBone = Smoke05 SmolderingSmoke
9711  ;     ParticleSysBone = Smoke06 SmolderingSmoke
9712  ;     ParticleSysBone = Fire02 SmolderingFire
9713  ;     ParticleSysBone = Fire03 SmolderingFire
9714  ;     ParticleSysBone = Fire04 SmolderingFire
9715  ;     ParticleSysBone = Fire05 SmolderingFire
9716  ;     ParticleSysBone = Fire06 SmolderingFire
9717      End
9718      ;really damaged
9719      ConditionState    = REALLYDAMAGED RUBBLE SNOW
9720        Model           = UBArmDeal_ES
9721        Animation       = UBArmDeal_ES.UBArmDeal_ES
9722        AnimationMode   = LOOP
9723        ParticleSysBone = Smoke01 SmolderingSmoke
9724  ;     ParticleSysBone = Smoke02 SmolderingSmoke
9725  ;     ParticleSysBone = Smoke03 SmolderingSmoke
9726  ;     ParticleSysBone = Smoke04 SmolderingSmoke
9727  ;     ParticleSysBone = Smoke05 SmokeFactionLarge
9728  ;     ParticleSysBone = Smoke06 SmolderingSmoke
9729  ;     ParticleSysBone = Smoke07 SmolderingSmoke
9730  ;     ParticleSysBone = Fire02 SmolderingFire
9731  ;     ParticleSysBone = Fire03 SmolderingFire
9732  ;     ParticleSysBone = Fire04 SmolderingFire
9733  ;     ParticleSysBone = Fire05 FireFactionLarge
9734  ;     ParticleSysBone = Fire06 SmolderingFire
9735  ;     ParticleSysBone = Fire07 SmolderingFire
9736       End
9737      ConditionState         = GARRISONED SNOW
9738        Model                = UBArmDlEG_S
9739        ParticleSysBone      = Smoke01 SmolderingSmoke
9740        Animation            = UBArmDlEG_S.UBArmDlEG_S
9741        AnimationMode        = LOOP
9742      End
9743      ConditionState         = DAMAGED GARRISONED SNOW
9744        Model                = UBArmDlEG_DS
9745        ParticleSysBone      = Smoke01 SmolderingSmoke
9746        Animation            = UBArmDlEG_DS.UBArmDlEG_DS
9747        AnimationMode        = LOOP
9748      End
9749      ConditionState         = REALLYDAMAGED GARRISONED SNOW
9750        Model                = UBArmDlEG_ES
9751        ParticleSysBone      = Smoke01 SmolderingSmoke
9752        Animation            = UBArmDlEG_ES.UBArmDlEG_ES
9753        AnimationMode        = LOOP
9754      End
9755  
9756      ; night
9757      ConditionState    = NIGHT
9758        Model           = UBArmDeal_N
9759        Animation       = UBArmDeal_N.UBArmDeal_N
9760        AnimationMode   = LOOP
9761        ParticleSysBone = Smoke01 SmolderingSmoke
9762        ParticleSysBone = Steam01 SteamVent
9763      End
9764      ConditionState    = DAMAGED NIGHT
9765        Model           = UBArmDeal_DN
9766        Animation       = UBArmDeal_DN.UBArmDeal_DN
9767        AnimationMode   = LOOP
9768        ParticleSysBone = Smoke01 SmolderingSmoke
9769      End
9770      ConditionState    = REALLYDAMAGED RUBBLE NIGHT
9771        Model           = UBArmDeal_EN
9772        Animation       = UBArmDeal_EN.UBArmDeal_EN
9773        AnimationMode   = LOOP
9774        ParticleSysBone = Smoke01 SmolderingSmoke
9775      End
9776      ConditionState         = GARRISONED NIGHT
9777        Model                = UBArmDlEG_N
9778        ParticleSysBone      = Smoke01 SmolderingSmoke
9779        Animation            = UBArmDlEG_N.UBArmDlEG_N
9780        AnimationMode        = LOOP
9781      End
9782      ConditionState         = DAMAGED GARRISONED NIGHT
9783        Model                = UBArmDlEG_DN
9784        ParticleSysBone      = Smoke01 SmolderingSmoke
9785        Animation            = UBArmDlEG_DN.UBArmDlEG_DN
9786        AnimationMode        = LOOP
9787      End
9788      ConditionState         = REALLYDAMAGED GARRISONED NIGHT
9789        Model                = UBArmDlEG_EN
9790        ParticleSysBone      = Smoke01 SmolderingSmoke
9791        Animation            = UBArmDlEG_EN.UBArmDlEG_EN
9792        AnimationMode        = LOOP
9793      End
9794       
9795       ; night snow
9796      ConditionState    = NIGHT SNOW
9797        Model           = UBArmDeal_NS
9798        Animation       = UBArmDeal_NS.UBArmDeal_NS
9799        AnimationMode   = LOOP
9800        ParticleSysBone = Smoke01 SmolderingSmoke
9801        ParticleSysBone = Steam01 SteamVent
9802      End
9803      ConditionState    = DAMAGED NIGHT SNOW
9804        Model           = UBArmDeal_DNS
9805        Animation       = UBArmDeal_DNS.UBArmDeal_DNS
9806        AnimationMode   = LOOP
9807        ParticleSysBone = Smoke01 SmolderingSmoke
9808      End
9809      ConditionState    = REALLYDAMAGED RUBBLE NIGHT SNOW
9810        Model           = UBArmDeal_ENS
9811        Animation       = UBArmDeal_ENS.UBArmDeal_ENS
9812        AnimationMode   = LOOP
9813        ParticleSysBone = Smoke01 SmolderingSmoke
9814      End
9815      ConditionState         = GARRISONED NIGHT SNOW
9816        Model                = UBArmDlEG_NS
9817        ParticleSysBone      = Smoke01 SmolderingSmoke
9818        Animation            = UBArmDlEG_NS.UBArmDlEG_NS
9819        AnimationMode        = LOOP
9820      End
9821      ConditionState         = DAMAGED GARRISONED NIGHT SNOW
9822        Model                = UBArmDlEG_DNS
9823        ParticleSysBone      = Smoke01 SmolderingSmoke
9824        Animation            = UBArmDlEG_DNS.UBArmDlEG_DNS
9825        AnimationMode        = LOOP
9826      End
9827      ConditionState         = REALLYDAMAGED GARRISONED NIGHT SNOW
9828        Model                = UBArmDlEG_ENS
9829        ParticleSysBone      = Smoke01 SmolderingSmoke
9830        Animation            = UBArmDlEG_ENS.UBArmDlEG_ENS
9831        AnimationMode        = LOOP
9832      End
9833      
9834      ;**************************************************************************************************************************
9835      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
9836      ;for this draw module
9837      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9838        Model              = UBArmDeal
9839        Animation          = UBArmDeal.UBArmDeal
9840        AnimationMode      = LOOP
9841        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9842      End
9843      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
9844        Model              = UBArmDeal_D
9845        Animation          = UBArmDeal_D.UBArmDeal_D
9846        AnimationMode      = LOOP
9847        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9848      End
9849      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
9850        Model              = UBArmDeal_E
9851        Animation          = UBArmDeal_E.UBArmDeal_E
9852        AnimationMode      = LOOP
9853        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9854      End
9855      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
9856        Model              = UBArmDeal_N
9857        Animation          = UBArmDeal_N.UBArmDeal_N
9858        AnimationMode      = LOOP
9859        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9860      End
9861      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
9862        Model              = UBArmDeal_DN
9863        Animation          = UBArmDeal_DN.UBArmDeal_DN
9864        AnimationMode      = LOOP
9865        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9866      End
9867      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
9868        Model              = UBArmDeal_EN
9869        Animation          = UBArmDeal_EN.UBArmDeal_EN
9870        AnimationMode      = LOOP
9871        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9872      End
9873      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
9874        Model              = UBArmDeal_S
9875        Animation          = UBArmDeal_S.UBArmDeal_S
9876        AnimationMode      = LOOP
9877        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9878      End
9879      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
9880        Model              = UBArmDeal_DS
9881        Animation          = UBArmDeal_DS.UBArmDeal_DS
9882        AnimationMode      = LOOP
9883        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9884      End
9885      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
9886        Model              = UBArmDeal_ES
9887        Animation          = UBArmDeal_ES.UBArmDeal_ES
9888        AnimationMode      = LOOP
9889        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9890      End
9891      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
9892        Model              = UBArmDeal_NS
9893        Animation          = UBArmDeal_NS.UBArmDeal_NS
9894        AnimationMode      = LOOP
9895        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9896      End
9897      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
9898        Model              = UBArmDeal_DNS
9899        Animation          = UBArmDeal_DNS.UBArmDeal_DNS
9900        AnimationMode      = LOOP
9901        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9902      End
9903      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
9904        Model              = UBArmDeal_ENS
9905        Animation          = UBArmDeal_ENS.UBArmDeal_ENS
9906        AnimationMode      = LOOP
9907        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
9908      End
9909  
9910      ConditionState       = AWAITING_CONSTRUCTION 
9911        Model              = NONE
9912      End
9913      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
9914      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
9915      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
9916      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
9917      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
9918      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
9919      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
9920      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
9921      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
9922      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
9923      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
9924      AliasConditionState  = SOLD 
9925      AliasConditionState  = SOLD DAMAGED
9926      AliasConditionState  = SOLD REALLYDAMAGED
9927      AliasConditionState  = SOLD NIGHT
9928      AliasConditionState  = SOLD NIGHT DAMAGED
9929      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
9930      AliasConditionState  = SOLD SNOW
9931      AliasConditionState  = SOLD SNOW DAMAGED
9932      AliasConditionState  = SOLD SNOW REALLYDAMAGED
9933      AliasConditionState  = SOLD NIGHT SNOW
9934      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
9935      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
9936      AliasConditionState  = GARRISONED SOLD 
9937      AliasConditionState  = GARRISONED SOLD DAMAGED
9938      AliasConditionState  = GARRISONED SOLD REALLYDAMAGED
9939      AliasConditionState  = GARRISONED SOLD NIGHT
9940      AliasConditionState  = GARRISONED SOLD NIGHT DAMAGED
9941      AliasConditionState  = GARRISONED SOLD NIGHT REALLYDAMAGED
9942      AliasConditionState  = GARRISONED SOLD SNOW
9943      AliasConditionState  = GARRISONED SOLD SNOW DAMAGED
9944      AliasConditionState  = GARRISONED SOLD SNOW REALLYDAMAGED
9945      AliasConditionState  = GARRISONED SOLD NIGHT SNOW
9946      AliasConditionState  = GARRISONED SOLD NIGHT SNOW DAMAGED
9947      AliasConditionState  = GARRISONED SOLD NIGHT SNOW REALLYDAMAGED
9948      ;**************************************************************************************************************************
9949      
9950   
9951    End
9952    
9953    ; ------------ construction-zone fence -----------------
9954    Draw = W3DModelDraw ModuleTag_02
9955    AnimationsRequirePower = No
9956      DefaultConditionState
9957        Model           = None
9958        TransitionKey   = DOWN_DEFAULT
9959      End
9960      ConditionState    = NIGHT
9961        Model           = None
9962        TransitionKey   = DOWN_DEFAULT
9963      End
9964      ConditionState    = SNOW
9965        Model           = None
9966        TransitionKey   = DOWN_DEFAULT
9967      End
9968      ConditionState    = SNOW NIGHT
9969        Model           = None
9970        TransitionKey   = DOWN_DEFAULT
9971      End
9972      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9973        Model           = UBArmDeal_A4
9974        Animation       = UBArmDeal_A4.UBArmDeal_A4
9975        AnimationMode   = MANUAL
9976        Flags           = START_FRAME_LAST
9977        TransitionKey   = UP_DAY
9978      End
9979      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9980        Model           = UBArmDeal_A4N
9981        Animation       = UBArmDeal_A4N.UBArmDeal_A4N
9982        AnimationMode   = MANUAL
9983        Flags           = START_FRAME_LAST
9984        TransitionKey   = UP_NIGHT
9985      End
9986      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9987        Model           = UBArmDeal_A4S
9988        Animation       = UBArmDeal_A4S.UBArmDeal_A4S
9989        AnimationMode   = MANUAL
9990        Flags           = START_FRAME_LAST
9991        TransitionKey   = UP_SNOW
9992      End
9993      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
9994        Model           = UBArmDeal_A4SN
9995        Animation       = UBArmDeal_A4SN.UBArmDeal_A4SN
9996        AnimationMode   = MANUAL
9997        Flags           = START_FRAME_LAST
9998        TransitionKey   = UP_SNOWNIGHT
9999      End
10000      TransitionState   = DOWN_DEFAULT UP_DAY
10001        Model           = UBArmDeal_A4
10002        Animation       = UBArmDeal_A4.UBArmDeal_A4
10003        AnimationMode   = ONCE
10004        AnimationSpeedFactorRange = 1.0 1.0
10005        Flags           = START_FRAME_FIRST
10006      End
10007      TransitionState   = DOWN_DEFAULT UP_NIGHT
10008        Model           = UBArmDeal_A4N
10009        Animation       = UBArmDeal_A4N.UBArmDeal_A4N
10010        AnimationMode   = ONCE
10011        AnimationSpeedFactorRange = 1.0 1.0
10012        Flags           = START_FRAME_FIRST
10013      End
10014      TransitionState   = DOWN_DEFAULT UP_SNOW
10015        Model           = UBArmDeal_A4S
10016        ; @todo srj -- anim missing
10017        Animation       = UBArmDeal_A4S.UBArmDeal_A4S
10018        AnimationMode   = ONCE
10019        AnimationSpeedFactorRange = 1.0 1.0
10020        Flags           = START_FRAME_FIRST
10021      End
10022      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10023        Model           = UBArmDeal_A4SN
10024        ; @todo srj -- anim missing
10025        Animation       = UBArmDeal_A4SN.UBArmDeal_A4SN
10026        AnimationMode   = ONCE
10027        AnimationSpeedFactorRange = 1.0 1.0
10028        Flags           = START_FRAME_FIRST
10029      End
10030      TransitionState   = UP_DAY DOWN_DEFAULT
10031        Model           = UBArmDeal_A4
10032        Animation       = UBArmDeal_A4.UBArmDeal_A4
10033        AnimationMode   = ONCE_BACKWARDS
10034        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10035        Flags           = START_FRAME_LAST
10036      End
10037      TransitionState   = UP_NIGHT DOWN_DEFAULT
10038        Model           = UBArmDeal_A4N
10039        Animation       = UBArmDeal_A4N.UBArmDeal_A4N
10040        AnimationMode   = ONCE_BACKWARDS
10041        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10042        Flags           = START_FRAME_LAST
10043      End
10044  
10045      TransitionState   = UP_SNOW DOWN_DEFAULT
10046        Model           = UBArmDeal_A4S
10047        ; @todo srj -- anim missing
10048        Animation       = UBArmDeal_A4S.UBArmDeal_A4S
10049        AnimationMode   = ONCE_BACKWARDS
10050        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10051        Flags           = START_FRAME_LAST
10052      End
10053      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10054        Model           = UBArmDeal_A4SN
10055        Animation       = UBArmDeal_A4SN.UBArmDeal_A4SN
10056        AnimationMode   = ONCE_BACKWARDS
10057        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10058        Flags           = START_FRAME_LAST
10059      End
10060    End
10061  
10062    ; ------------ under-construction scaffolding -----------------
10063    Draw = W3DModelDraw ModuleTag_03
10064    AnimationsRequirePower = No
10065      MinLODRequired = MEDIUM
10066      DefaultConditionState
10067        Model           = None
10068        TransitionKey   = DOWN_DEFAULT
10069      End
10070      ConditionState    = NIGHT
10071        Model           = None
10072        TransitionKey   = DOWN_DEFAULT
10073      End
10074      ConditionState    = SNOW
10075        Model           = None
10076        TransitionKey   = DOWN_DEFAULT
10077      End
10078      ConditionState    = SNOW NIGHT
10079        Model           = None
10080        TransitionKey   = DOWN_DEFAULT
10081      End
10082      ConditionState    = PARTIALLY_CONSTRUCTED
10083        Model           = UBArmDeal_A6
10084        Animation       = UBArmDeal_A6.UBArmDeal_A6
10085        AnimationMode   = MANUAL
10086        Flags           = START_FRAME_LAST
10087        TransitionKey   = UP_DAY
10088        ParticleSysBone = Dust01 BuildingDust
10089        ParticleSysBone = Smoke01 BuildUpSmoke
10090        ParticleSysBone = Smoke02 BuildUpSmoke
10091        ParticleSysBone = Smoke03 BuildUpSmoke
10092        ParticleSysBone = Smoke04 BuildUpSmoke
10093      End
10094      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
10095        Model           = UBArmDeal_A6N
10096        Animation       = UBArmDeal_A6N.UBArmDeal_A6N
10097        AnimationMode   = MANUAL
10098        Flags           = START_FRAME_LAST
10099        TransitionKey   = UP_NIGHT
10100        ParticleSysBone = Dust01 BuildingDust
10101        ParticleSysBone = Smoke01 BuildUpSmoke
10102        ParticleSysBone = Smoke02 BuildUpSmoke
10103        ParticleSysBone = Smoke03 BuildUpSmoke
10104        ParticleSysBone = Smoke04 BuildUpSmoke
10105      End
10106      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
10107        Model           = UBArmDeal_A6S
10108        Animation       = UBArmDeal_A6S.UBArmDeal_A6S
10109        AnimationMode   = MANUAL
10110        Flags           = START_FRAME_LAST
10111        TransitionKey   = UP_SNOW
10112        ParticleSysBone = Dust01 BuildingSnowDust
10113        ParticleSysBone = Smoke01 BuildUpSnowSmoke
10114        ParticleSysBone = Smoke02 BuildUpSnowSmoke
10115        ParticleSysBone = Smoke03 BuildUpSnowSmoke
10116        ParticleSysBone = Smoke04 BuildUpSnowSmoke
10117      End
10118      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
10119        Model           = UBArmDeal_A6SN
10120        Animation       = UBArmDeal_A6SN.UBArmDeal_A6SN
10121        AnimationMode   = MANUAL
10122        Flags           = START_FRAME_LAST
10123        TransitionKey   = UP_SNOWNIGHT
10124        ParticleSysBone = Dust01 BuildingNightSnowDust
10125        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
10126        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
10127        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
10128        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
10129      End
10130      TransitionState   = DOWN_DEFAULT UP_DAY
10131       Model            = UBArmDeal_A6
10132        Animation       = UBArmDeal_A6.UBArmDeal_A6
10133        AnimationMode   = ONCE
10134        AnimationSpeedFactorRange = 1.0 1.0
10135        Flags           = START_FRAME_FIRST
10136      End
10137      TransitionState   = DOWN_DEFAULT UP_NIGHT
10138       Model            = UBArmDeal_A6N
10139        Animation       = UBArmDeal_A6N.UBArmDeal_A6N
10140        AnimationMode   = ONCE
10141        AnimationSpeedFactorRange = 1.0 1.0
10142        Flags           = START_FRAME_FIRST
10143      End
10144      TransitionState   = DOWN_DEFAULT UP_SNOW
10145       Model            = UBArmDeal_A6S
10146        Animation       = UBArmDeal_A6S.UBArmDeal_A6S
10147        AnimationMode   = ONCE
10148        AnimationSpeedFactorRange = 1.0 1.0
10149        Flags           = START_FRAME_FIRST
10150      End
10151      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
10152       Model            = UBArmDeal_A6SN
10153        Animation       = UBArmDeal_A6SN.UBArmDeal_A6SN
10154        AnimationMode   = ONCE
10155        AnimationSpeedFactorRange = 1.0 1.0
10156        Flags           = START_FRAME_FIRST
10157      End
10158      TransitionState   = UP_DAY DOWN_DEFAULT
10159        Model           = UBArmDeal_A6
10160        Animation       = UBArmDeal_A6.UBArmDeal_A6
10161        AnimationMode   = ONCE_BACKWARDS
10162        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10163        Flags           = START_FRAME_LAST
10164      End
10165      TransitionState   = UP_NIGHT DOWN_DEFAULT
10166        Model           = UBArmDeal_A6N
10167        Animation       = UBArmDeal_A6N.UBArmDeal_A6N
10168        AnimationMode   = ONCE_BACKWARDS
10169        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10170        Flags           = START_FRAME_LAST
10171      End
10172      TransitionState   = UP_SNOW DOWN_DEFAULT
10173        Model           = UBArmDeal_A6S
10174        Animation       = UBArmDeal_A6S.UBArmDeal_A6S
10175        AnimationMode   = ONCE_BACKWARDS
10176        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10177        Flags           = START_FRAME_LAST
10178      End
10179      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
10180        Model           = UBArmDeal_A6SN
10181        Animation       = UBArmDeal_A6SN.UBArmDeal_A6SN
10182        AnimationMode   = ONCE_BACKWARDS
10183        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
10184        Flags           = START_FRAME_LAST
10185      End
10186    End
10187  
10188    ; ----------------- the door -----------------------
10189    Draw = W3DModelDraw ModuleTag_04
10190      DefaultConditionState
10191        Model           = UBArmDeal_A7
10192        Animation       = UBArmDeal_A7.UBArmDeal_A7
10193        AnimationMode   = MANUAL
10194        Flags           = START_FRAME_FIRST
10195      End
10196      AliasConditionState = NIGHT 
10197      AliasConditionState = SNOW
10198      AliasConditionState = NIGHT SNOW
10199      
10200      ConditionState    = DAMAGED
10201        Model           = UBArmDeal_A7D
10202        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
10203        AnimationMode   = MANUAL
10204        Flags           = START_FRAME_FIRST
10205      End
10206      AliasConditionState = NIGHT DAMAGED
10207      AliasConditionState = SNOW DAMAGED
10208      AliasConditionState = SNOW NIGHT DAMAGED
10209  
10210      ConditionState    = REALLYDAMAGED RUBBLE
10211        Model           = UBArmDeal_A7E
10212        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
10213        AnimationMode   = MANUAL
10214        Flags           = START_FRAME_FIRST
10215      End
10216      AliasConditionState = NIGHT REALLYDAMAGED RUBBLE
10217      AliasConditionState = SNOW REALLYDAMAGED RUBBLE
10218      AliasConditionState = NIGHT SNOW REALLYDAMAGED RUBBLE
10219      
10220      
10221      
10222      ConditionState    = DOOR_1_OPENING
10223        Model           = UBArmDeal_A7
10224        Animation       = UBArmDeal_A7.UBArmDeal_A7
10225        AnimationMode   = ONCE
10226        Flags           = START_FRAME_FIRST
10227      End   
10228      AliasConditionState = NIGHT DOOR_1_OPENING
10229      AliasConditionState = SNOW DOOR_1_OPENING
10230      AliasConditionState = SNOW NIGHT DOOR_1_OPENING
10231      
10232      ConditionState    = DOOR_1_OPENING DAMAGED
10233        Model           = UBArmDeal_A7D
10234        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
10235        AnimationMode   = ONCE
10236        Flags           = START_FRAME_FIRST
10237      End   
10238      AliasConditionState = NIGHT DOOR_1_OPENING DAMAGED
10239      AliasConditionState = SNOW DOOR_1_OPENING DAMAGED
10240      AliasConditionState = NIGHT SNOW DOOR_1_OPENING DAMAGED
10241      
10242      ConditionState    = DOOR_1_OPENING REALLYDAMAGED RUBBLE
10243        Model           = UBArmDeal_A7E
10244        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
10245        AnimationMode   = ONCE
10246        Flags           = START_FRAME_FIRST
10247      End
10248      AliasConditionState = NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
10249      AliasConditionState = SNOW DOOR_1_OPENING REALLYDAMAGED RUBBLE
10250      AliasConditionState = SNOW NIGHT DOOR_1_OPENING REALLYDAMAGED RUBBLE
10251      
10252      
10253      
10254      ConditionState    = DOOR_1_CLOSING
10255        Model           = UBArmDeal_A7
10256        Animation       = UBArmDeal_A7.UBArmDeal_A7
10257        AnimationMode   = ONCE_BACKWARDS
10258        Flags           = START_FRAME_LAST
10259      End   
10260      AliasConditionState = NIGHT DOOR_1_CLOSING
10261      AliasConditionState = SNOW DOOR_1_CLOSING
10262      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING
10263      
10264      ConditionState    = DOOR_1_CLOSING DAMAGED
10265        Model           = UBArmDeal_A7D
10266        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
10267        AnimationMode   = ONCE_BACKWARDS
10268        Flags           = START_FRAME_LAST
10269      End   
10270      AliasConditionState = NIGHT DOOR_1_CLOSING DAMAGED
10271      AliasConditionState = SNOW NIGHT DOOR_1_CLOSING DAMAGED
10272      AliasConditionState = SNOW DOOR_1_CLOSING DAMAGED
10273      
10274      ConditionState    = DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10275        Model           = UBArmDeal_A7E
10276        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
10277        AnimationMode   = ONCE_BACKWARDS
10278        Flags           = START_FRAME_LAST
10279      End   
10280      AliasConditionState = NIGHT DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10281      AliasConditionState = SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10282      AliasConditionState = NIGHT SNOW DOOR_1_CLOSING REALLYDAMAGED RUBBLE
10283      
10284      
10285      
10286      ConditionState    = DOOR_1_WAITING_OPEN
10287        Model           = UBArmDeal_A7
10288        Animation       = UBArmDeal_A7.UBArmDeal_A7
10289        AnimationMode   = MANUAL
10290        Flags           = START_FRAME_LAST
10291      End   
10292      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN
10293      AliasConditionState = SNOW DOOR_1_WAITING_OPEN
10294      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN
10295      
10296      ConditionState    = DOOR_1_WAITING_OPEN DAMAGED
10297        Model           = UBArmDeal_A7D
10298        Animation       = UBArmDeal_A7D.UBArmDeal_A7D
10299        AnimationMode   = MANUAL
10300        Flags           = START_FRAME_LAST
10301      End   
10302      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN DAMAGED
10303      AliasConditionState = SNOW DOOR_1_WAITING_OPEN DAMAGED
10304      AliasConditionState = SNOW NIGHT DOOR_1_WAITING_OPEN DAMAGED
10305      
10306      ConditionState    = DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10307        Model           = UBArmDeal_A7E
10308        Animation       = UBArmDeal_A7E.UBArmDeal_A7E
10309        AnimationMode   = MANUAL
10310        Flags           = START_FRAME_LAST
10311      End
10312      AliasConditionState = NIGHT DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10313      AliasConditionState = SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10314      AliasConditionState = NIGHT SNOW DOOR_1_WAITING_OPEN REALLYDAMAGED RUBBLE
10315         
10316      ;**************************************************************************************************************************
10317      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
10318      ;for this draw module
10319      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
10320        Model              = UBArmDeal_A7
10321        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10322      End
10323      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
10324      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
10325      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
10326      
10327      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
10328        Model              = UBArmDeal_A7D
10329        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10330      End
10331      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT
10332      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED SNOW
10333      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED NIGHT SNOW
10334      
10335      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
10336        Model              = UBArmDeal_A7E
10337        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
10338      End
10339      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT
10340      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED SNOW
10341      AliasConditionState  = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED NIGHT SNOW
10342      
10343      ConditionState       = AWAITING_CONSTRUCTION 
10344        Model              = NONE
10345      End
10346      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
10347      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
10348      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
10349      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
10350      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
10351      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
10352      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
10353      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
10354      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
10355      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
10356      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
10357      AliasConditionState  = SOLD DAMAGED
10358      AliasConditionState  = SOLD REALLYDAMAGED
10359      AliasConditionState  = SOLD NIGHT
10360      AliasConditionState  = SOLD NIGHT DAMAGED
10361      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
10362      AliasConditionState  = SOLD SNOW
10363      AliasConditionState  = SOLD SNOW DAMAGED
10364      AliasConditionState  = SOLD SNOW REALLYDAMAGED
10365      AliasConditionState  = SOLD NIGHT SNOW
10366      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
10367      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
10368      ;**************************************************************************************************************************  
10369         
10370         
10371    End
10372    
10373    PlacementViewAngle  = -135
10374    
10375    ; ***DESIGN parameters ***
10376    DisplayName      = OBJECT:ArmsDealer
10377    Side             = GLAToxinGeneral
10378    EditorSorting    = STRUCTURE
10379    Prerequisites
10380      Object = Chem_GLASupplyStash
10381    End
10382    BuildCost        = 625
10383    BuildTime        = 10.0           ; in seconds
10384    EnergyProduction = 0
10385    CommandSet       = FakeGLAArmsDealerCommandSet
10386    VisionRange     = 200.0           ; Shroud clearing distance
10387    ShroudClearingRange = 200
10388  
10389    WeaponSet
10390      Conditions          = None 
10391      Weapon = PRIMARY SuicideWeapon
10392      AutoChooseSources = PRIMARY None
10393    End
10394  
10395    ArmorSet
10396      Conditions          = None
10397      Armor               = StructureArmor
10398      DamageFX            = StructureDamageFXNoShake
10399    End
10400  
10401    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
10402  
10403    ; *** AUDIO Parameters ***
10404    VoiceSelect = WarFactoryGLASelect
10405    SoundOnDamaged        = BuildingDamagedStateLight
10406    SoundOnReallyDamaged  = BuildingDestroy
10407  
10408    UnitSpecificSounds
10409      UnderConstruction     = UnderConstructionLoop
10410    End
10411  
10412    ; *** ENGINEERING Parameters ***
10413    RadarPriority     = STRUCTURE
10414    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE CAPTURABLE MP_COUNT_FOR_VICTORY SCORE_CREATE CAN_ATTACK FS_FAKE
10415    Body              = StructureBody ModuleTag_05
10416      MaxHealth       = 500.0
10417      InitialHealth   = 500.0
10418  
10419      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
10420      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
10421      SubdualDamageCap = 700
10422      SubdualDamageHealRate = 500
10423      SubdualDamageHealAmount = 100
10424    End
10425    
10426    Behavior             = CreateObjectDie ModuleTag_08
10427      CreationList  = OCL_LargeStructureDebris
10428    End
10429    Behavior             = FXListDie ModuleTag_09
10430      DeathFX       = FX_StructureMediumDeath
10431    End
10432    Behavior = AIUpdateInterface ModuleTag_10
10433      AutoAcquireEnemiesWhenIdle = No
10434    End
10435  
10436    Behavior = ProductionUpdate ModuleTag_11
10437      ; nothing
10438    End
10439  
10440    Behavior = SlowDeathBehavior ModuleTag_12
10441      ExemptStatus = UNDER_CONSTRUCTION
10442      DestructionDelay = 0
10443      Weapon = FINAL FakeStructureDetonationWeapon
10444    End
10445    Behavior = DestroyDie ModuleTag_SlowDeathException
10446      RequiredStatus = UNDER_CONSTRUCTION
10447    End
10448  
10449    Behavior = ReplaceObjectUpgrade ModuleTag_13
10450      ReplaceObject = Chem_GLAArmsDealer
10451      TriggeredBy = Upgrade_BecomeRealGLAArmsDealer
10452    End
10453  
10454    Behavior        = ModelConditionUpgrade ModuleTag_Armor01Visual
10455      ConditionFlag = GARRISONED
10456      TriggeredBy   = Upgrade_GLAFortifiedStructure
10457    End
10458  
10459    Behavior = FlammableUpdate ModuleTag_14
10460      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
10461      AflameDamageAmount = 5       ; taking this much damage...
10462      AflameDamageDelay = 500       ; this often.
10463    End
10464  
10465    Behavior = TransitionDamageFX ModuleTag_31
10466      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
10467      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
10468      ;---------------------------------------------------------------------------------------
10469      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
10470      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
10471      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
10472    End
10473  
10474    Geometry            = BOX
10475    GeometryMajorRadius = 40.0
10476    GeometryMinorRadius = 62.0
10477    GeometryHeight      = 25.0
10478    GeometryIsSmall     = No
10479    FactoryExitWidth    = 25
10480    Shadow              = SHADOW_VOLUME
10481    ShadowTexture = fake_supply; this is not really a shadow, it's used for decal to indicate fake structure.
10482    ShadowSizeX = 127
10483    ShadowSizeY = 144
10484    BuildCompletion     = PLACED_BY_PLAYER
10485  
10486  End
10487  
10488  
10489  
10490  ; -----------------------------------------------------------------------------
10491  
10492  Object Chem_GLASneakAttackTunnelNetworkStart
10493  
10494    ; *** ART Parameters ***
10495  
10496    SelectPortrait         = SUTunnel_L
10497    ButtonImage            = SUTunnel
10498    Draw = W3DModelDraw ModuleTag_01
10499      OkToChangeModelColor = Yes
10500  
10501      ;***NONE
10502  
10503       ConditionState     = NONE
10504        Model             = UBSNKATK_1ANM
10505        Animation         = UBSNKATK_1ANM.UBSNKATK_1ANM
10506        AnimationMode     = ONCE
10507        ParticleSysBone   = DIRT SneakAttackCrackDust 
10508     ;;;ParticleSysBone   = DIRT SneakAttackDirt          ;steveM commented out 8.4.03
10509        ParticleSysBone   = DIRT SneakAttackCrackDust1 
10510        ParticleSysBone   = DIRT SneakAttackDebris
10511        ParticleSysBone   = DIRT SneakAttackDebris0
10512        ParticleSysBone   = DIRT SneakAttackDebris1     
10513        ParticleSysBone   = DIRT SneakAttackCrackDust0
10514        ParticleSysBone   = DIRT SneakAttackSteamVent 
10515      End
10516  
10517  ;    ConditionState
10518  ;      Model             = UBSNKATK_1ANM
10519  ;      Animation         = UBSNKATK_1ANM.UBSNKATK_1ANM
10520  ;      AnimationMode     = ONCE
10521  ;    End
10522   
10523      ConditionState      = DAMAGED
10524        Model             = UBSNATK_E
10525        ParticleSysBone   = DIRT SneakAttackCrackDust 
10526        ParticleSysBone   = DIRT SneakAttackDirt
10527        ParticleSysBone   = DIRT SneakAttackCrackDust1 
10528        ParticleSysBone   = DIRT SneakAttackDebris
10529        ParticleSysBone   = DIRT SneakAttackDebris0
10530        ParticleSysBone   = DIRT SneakAttackDebris1     
10531        ParticleSysBone   = DIRT SneakAttackCrackDust0
10532        ParticleSysBone   = DIRT SneakAttackSteamVent 
10533      End
10534      ConditionState      = REALLYDAMAGED RUBBLE
10535        Model             = UBSNATK_R
10536      End
10537      ConditionState      = SNOW
10538        Model             = UBSNATK_Sanm
10539        Animation         = UBSNATK_Sanm.UBSNATK_Sanm
10540        AnimationMode     = ONCE
10541        ParticleSysBone   = DIRT SneakAttackCrackDustSnow  
10542        ParticleSysBone   = DIRT SneakAttackDirtSnow       
10543        ParticleSysBone   = DIRT SneakAttackCrackDust1Snow 
10544        ParticleSysBone   = DIRT SneakAttackDebrisSnow     
10545        ParticleSysBone   = DIRT SneakAttackDebris0Snow    
10546        ParticleSysBone   = DIRT SneakAttackDebris1Snow       
10547        ParticleSysBone   = DIRT SneakAttackCrackDust0Snow 
10548        ParticleSysBone   = DIRT SneakAttackSteamVent 
10549      End
10550      ConditionState      = DAMAGED SNOW
10551        Model             = UBSNATK_ES
10552        ParticleSysBone   = DIRT SneakAttackCrackDustSnow  
10553        ParticleSysBone   = DIRT SneakAttackDirtSnow       
10554        ParticleSysBone   = DIRT SneakAttackCrackDust1Snow 
10555        ParticleSysBone   = DIRT SneakAttackDebrisSnow     
10556        ParticleSysBone   = DIRT SneakAttackDebris0Snow    
10557        ParticleSysBone   = DIRT SneakAttackDebris1Snow       
10558        ParticleSysBone   = DIRT SneakAttackCrackDust0Snow 
10559        ParticleSysBone   = DIRT SneakAttackSteamVent 
10560      End
10561      ConditionState      = REALLYDAMAGED RUBBLE SNOW
10562        Model             = UBSNATK_RS
10563        ParticleSysBone   = DIRT SneakAttackCrackDustSnow  
10564        ParticleSysBone   = DIRT SneakAttackDirtSnow       
10565        ParticleSysBone   = DIRT SneakAttackCrackDust1Snow 
10566        ParticleSysBone   = DIRT SneakAttackDebrisSnow     
10567        ParticleSysBone   = DIRT SneakAttackDebris0Snow    
10568        ParticleSysBone   = DIRT SneakAttackDebris1Snow       
10569        ParticleSysBone   = DIRT SneakAttackCrackDust0Snow 
10570        ParticleSysBone   = DIRT SneakAttackSteamVent 
10571      End
10572      ConditionState      = NIGHT
10573        Model             = UBSNKATK_1ANM
10574        Animation         = UBSNKATK_1ANM.UBSNKATK_1ANM
10575        AnimationMode     = ONCE
10576      End
10577      ConditionState      = DAMAGED NIGHT
10578        Model             = UBSNATK_E
10579      End
10580      ConditionState      = REALLYDAMAGED RUBBLE NIGHT
10581        Model             = UBSNATK_R
10582      End    
10583      ConditionState      = SNOW NIGHT
10584        Model             = UBSNATK_Sanm
10585        Animation         = UBSNATK_Sanm.UBSNATK_Sanm
10586        AnimationMode     = ONCE
10587      End
10588      ConditionState      = DAMAGED SNOW NIGHT
10589        Model             = UBSNATK_ES
10590      End
10591      ConditionState      = REALLYDAMAGED RUBBLE SNOW NIGHT
10592        Model             = UBSNATK_RS
10593      End
10594    End
10595    PlacementViewAngle = -44
10596  
10597    ; ***DESIGN parameters ***
10598    DisplayName      = OBJECT:TunnelNetwork
10599    Side = GLAToxinGeneral
10600    EditorSorting    = STRUCTURE
10601    Prerequisites
10602     ;None
10603    End
10604    EnergyProduction = 0
10605    VisionRange     = 200.0           ; Shroud clearing distance
10606    ShroudClearingRange = 200
10607    
10608    ArmorSet        
10609      Conditions      = None
10610      Armor           = StructureArmor
10611      DamageFX        = DamageFX_Empty
10612    End
10613    
10614    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
10615  
10616    ; *** AUDIO Parameters ***
10617    VoiceSelect = TunnelNetworkSelect
10618    SoundOnDamaged        = BuildingDamagedStateLight
10619    SoundOnReallyDamaged  = BuildingDestroy
10620    SoundEnter = GarrisonEnter
10621    SoundExit = GarrisonExit
10622  
10623    ; *** ENGINEERING Parameters ***
10624    RadarPriority   = STRUCTURE
10625    KindOf          = PRELOAD STRUCTURE IMMOBILE IMMUNE_TO_CAPTURE
10626    Body            = StructureBody ModuleTag_04
10627      MaxHealth       = 1000.0
10628      InitialHealth   = 1000.0
10629  
10630      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
10631      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
10632      SubdualDamageCap = 1200
10633      SubdualDamageHealRate = 500
10634      SubdualDamageHealAmount = 100
10635    End
10636  
10637  
10638    Behavior = DestroyDie ModuleTag_10
10639      ;nothing
10640    End
10641    Behavior             = CreateObjectDie ModuleTag_11
10642      CreationList  = OCL_CreateSneakAttackTunnel
10643    End
10644  
10645    Behavior = FlammableUpdate ModuleTag_15
10646  
10647      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
10648      AflameDamageAmount = 5       ; taking this much damage...
10649      AflameDamageDelay = 500       ; this often.
10650    End
10651  
10652    Behavior = LifetimeUpdate ModuleTag_16
10653      MinLifetime = 5000   ; min lifetime in msec
10654      MaxLifetime = 5000   ; max lifetime in msec
10655    End
10656  
10657    Behavior = FireWeaponUpdate ModuleTag_17
10658      Weapon = SneakAttackShockwaveWeaponSmall
10659      InitialDelay = 10;
10660    End
10661  
10662    Behavior = FireWeaponUpdate ModuleTag_18
10663      Weapon = SneakAttackShockwaveWeaponBig
10664      InitialDelay = 1000;
10665    End
10666  
10667    Behavior = FireWeaponUpdate ModuleTag_19
10668      Weapon = SneakAttackShockwaveWeaponBig
10669      InitialDelay = 2500;
10670    End
10671  
10672  
10673    ; IMPORTANT: DO NOT GIVE THIS OBJECT ANY EXTENTS -ML
10674  
10675    Geometry = CYLINDER
10676    GeometryMajorRadius = 25.0
10677    GeometryHeight = 20.0    
10678    GeometryIsSmall     = No
10679    FactoryExtraBibWidth = 25.0
10680    Shadow          = SHADOW_VOLUME
10681    BuildCompletion = PLACED_BY_PLAYER
10682  
10683  End
10684  
10685  
10686  ; -----------------------------------------------------------------------------
10687  Object Chem_GLASneakAttackTunnelNetwork
10688  
10689    ; *** ART Parameters ***
10690    SelectPortrait         = SUSneakAttack_L
10691    ButtonImage            = SUSneakAttack
10692    Draw = W3DModelDraw ModuleTag_01
10693      OkToChangeModelColor = Yes
10694      ;***DEFAULT
10695      ;DefaultConditionState
10696      ConditionState
10697        Model             = UBSNATK_1
10698      End
10699      ConditionState      = DAMAGED
10700        Model             = UBSNATK_E
10701      End
10702      ConditionState      = REALLYDAMAGED RUBBLE
10703        Model             = UBSNATK_R
10704        ;ParticleSysBone   = Mound SteamVent
10705      End
10706      ConditionState      = SNOW
10707        Model             = UBSNATK_S
10708      End
10709      ConditionState      = DAMAGED SNOW
10710        Model             = UBSNATK_ES
10711      End
10712      ConditionState      = REALLYDAMAGED RUBBLE SNOW
10713        Model             = UBSNATK_RS
10714        ;ParticleSysBone   = Mound SteamVent
10715      End
10716      ConditionState      = NIGHT
10717        Model             = UBSNATK_N
10718      End
10719      ConditionState      = DAMAGED NIGHT
10720        Model             = UBSNATK_E
10721      End
10722      ConditionState      = REALLYDAMAGED RUBBLE NIGHT
10723        Model             = UBSNATK_R
10724        ;ParticleSysBone   = Mound SteamVent
10725      End    
10726      ConditionState      = SNOW NIGHT
10727        Model             = UBSNATK_NS
10728      End
10729      ConditionState      = DAMAGED SNOW NIGHT
10730        Model             = UBSNATK_ES
10731      End
10732      ConditionState      = REALLYDAMAGED RUBBLE SNOW NIGHT
10733        Model             = UBSNATK_RS
10734        ;ParticleSysBone   = Mound SteamVent
10735      End
10736    End
10737  
10738    PlacementViewAngle = -44
10739  
10740    ; ***DESIGN parameters ***
10741    DisplayName      = OBJECT:TunnelNetwork
10742    Side = GLAToxinGeneral
10743    EditorSorting    = STRUCTURE
10744    Prerequisites
10745     ;None
10746    End
10747    EnergyProduction = 0
10748    VisionRange     = 200.0           ; Shroud clearing distance
10749    ShroudClearingRange = 200
10750    WeaponSet
10751      Conditions = None 
10752      Weapon = PRIMARY TunnelNetworkGunDUMMY ;So AI can attack from it in guard mode.
10753    End
10754    ArmorSet
10755      Conditions      = None
10756      Armor           = StructureArmor
10757      DamageFX        = StructureDamageFXNoShake
10758    End
10759    CommandSet       = GLASneakAttackTunnelCommandSet
10760    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
10761  
10762    ; *** AUDIO Parameters ***
10763    VoiceSelect = TunnelNetworkSelect
10764    SoundOnDamaged        = BuildingDamagedStateLight
10765    SoundOnReallyDamaged  = BuildingDestroy
10766    SoundEnter = GarrisonEnter
10767    SoundExit = GarrisonExit
10768  
10769    ; *** ENGINEERING Parameters ***
10770    RadarPriority   = STRUCTURE
10771    KindOf          = PRELOAD STRUCTURE SELECTABLE IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT
10772    Body            = StructureBody ModuleTag_04
10773      MaxHealth       = 1000.0
10774      InitialHealth   = 1000.0
10775  
10776      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
10777      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
10778      SubdualDamageCap = 1200
10779      SubdualDamageHealRate = 500
10780      SubdualDamageHealAmount = 100
10781    End
10782  
10783    Behavior = StealthDetectorUpdate ModuleTag_13
10784      DetectionRate     = 500   ; how often to rescan for stealthed things in my sight (msec)
10785      DetectionRange   = 150   ;Dustin, enable this for independant balancing!
10786      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
10787      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
10788    End
10789  
10790    Behavior = TunnelContain ModuleTag_05
10791      TimeForFullHeal     = 5000   ;(in milliseconds)
10792    End
10793  
10794    Behavior = AIUpdateInterface ModuleTag_AI
10795      Turret
10796        TurretTurnRate        = 180   // turn rate, in degrees per sec
10797        ControlledWeaponSlots = PRIMARY
10798      End
10799      AutoAcquireEnemiesWhenIdle = Yes Stealthed; defensive weapon
10800    End
10801  
10802    ;Kris: Removed this module because units exiting the container would extract information from
10803    ;the wrong exit interface. Because TunnelContain has the proper information for exiting properly
10804    ;we don't need this one. Plus sneak attack tunnels don't produce units anyway.
10805    ;Behavior = DefaultProductionExitUpdate ModuleTag_06
10806    ;  UnitCreatePoint   = X:  5.0  Y:  0.0   Z:0.0
10807    ;  NaturalRallyPoint = X: 35.0  Y:  0.0   Z:0.0
10808    ;End
10809  
10810    Behavior = DestroyDie ModuleTag_10
10811      ;nothing
10812    End
10813    Behavior             = CreateObjectDie ModuleTag_11
10814      CreationList  = OCL_ABTunnelNetworkDebris
10815    End
10816    Behavior             = FXListDie ModuleTag_12
10817      DeathFX       = FX_StructureSmallDeath
10818    End
10819  
10820    Behavior = FlammableUpdate ModuleTag_15
10821  
10822      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
10823      AflameDamageAmount = 5       ; taking this much damage...
10824      AflameDamageDelay = 500       ; this often.
10825    End
10826  
10827  
10828    Behavior = TransitionDamageFX ModuleTag_17
10829      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
10830      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
10831      ;---------------------------------------------------------------------------------------
10832      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
10833      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
10834      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
10835    End
10836  
10837    Geometry = CYLINDER
10838    GeometryMajorRadius = 25.0
10839    GeometryHeight = 20.0    
10840    GeometryIsSmall     = No
10841    FactoryExtraBibWidth = 25.0
10842    Shadow          = SHADOW_VOLUME
10843    BuildCompletion = PLACED_BY_PLAYER
10844  
10845  End
10846  
10847  
10848  
10849  
10850  
10851  
10852  
10853  
10854  
10855  
10856  
10857  
10858  
10859  
10860  
10861  
10862  
10863  
10864  
10865  
10866  
10867  
10868  
10869  
10870  
10871  
10872  
10873  
10874  
10875  
10876  
10877  
10878  
10879  
10880  
10881  ;----------------------------------------------------------------------------
10882  Object Chem_GLAInfantryJarmenKell
10883  
10884    ; *** ART Parameters ***
10885    SelectPortrait         = SUJermanKell1_L  ;NOTE: Asset spelling mistake
10886    ButtonImage            = SUJermanKell1
10887    
10888    UpgradeCameo1 = Upgrade_GLAAPBullets
10889    ;UpgradeCameo2 = NONE
10890    ;UpgradeCameo3 = NONE
10891    ;UpgradeCameo4 = NONE
10892    ;UpgradeCameo5 = NONE
10893    
10894    Draw = W3DModelDraw ModuleTag_01
10895      OkToChangeModelColor = Yes
10896  
10897      ; --- idle
10898      DefaultConditionState
10899        Model             = UIHERO_SKN
10900        IdleAnimation     = UIHERO_SKL.UIHERO_STA 0 21
10901        IdleAnimation     = UIHERO_SKL.UIHERO_IDA
10902        IdleAnimation     = UIHERO_SKL.UIHERO_IDB
10903        AnimationMode     = ONCE
10904        WeaponFireFXBone  = PRIMARY Muzzle
10905        WeaponMuzzleFlash = PRIMARY MuzzleFX
10906        TransitionKey     = TRANS_Stand
10907      End
10908  
10909      ConditionState      = REALLYDAMAGED
10910        IdleAnimation     = UIHERO_SKL.UIHERO_ISTA 0 30
10911        IdleAnimation     = UIHERO_SKL.UIHERO_IIDA
10912        IdleAnimation     = UIHERO_SKL.UIHERO_IIDB
10913        AnimationMode     = ONCE
10914        TransitionKey     = TRANS_StandInjured
10915      End
10916  
10917      TransitionState     = TRANS_Stand TRANS_StandInjured
10918        Animation         = UIHERO_SKL.UIHERO_ISTAHIT
10919        AnimationMode     = ONCE
10920      End
10921  
10922      ; --- attack
10923  
10924      ConditionState      = FIRING_A 
10925        Animation         = UIHERO_SKL.UIHERO_ATA 
10926        AnimationMode     = ONCE
10927        TransitionKey     = TRANS_FiringA
10928        AnimationSpeedFactorRange = 1.5 1.5
10929      End
10930  
10931      ConditionState      = BETWEEN_FIRING_SHOTS_A
10932        Animation         = UIHERO_SKL.UIHERO_STA
10933        AnimationMode     = ONCE
10934        WaitForStateToFinishIfPossible = TRANS_FiringA
10935      End
10936      AliasConditionState = RELOADING_A
10937    
10938      ConditionState      = FIRING_A REALLYDAMAGED
10939        Animation         = UIHERO_SKL.UIHERO_IATA2
10940        AnimationMode     = ONCE
10941        TransitionKey     = TRANS_FiringAInjured
10942        AnimationSpeedFactorRange = 1.5 1.5
10943      End
10944  
10945      ConditionState      = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
10946        Animation         = UIHERO_SKL.UIHERO_IATA2
10947        AnimationMode     = MANUAL
10948        Flags             = START_FRAME_LAST
10949        WaitForStateToFinishIfPossible = TRANS_FiringAInjured
10950      End
10951      AliasConditionState = RELOADING_A REALLYDAMAGED
10952  
10953      TransitionState     = TRANS_FiringA TRANS_FiringAInjured
10954        Animation         = UIHERO_SKL.UIHERO_IATAHIT
10955        AnimationMode     = ONCE
10956      End
10957  
10958      ; --- moving
10959      ConditionState      = MOVING
10960        Animation         = UIHERO_SKL.UIHERO_RNA2 30
10961        AnimationMode     = LOOP
10962        Flags             = RANDOMSTART
10963        TransitionKey     = None
10964        ParticleSysBone   = None InfantryDustTrails
10965      End
10966      AliasConditionState = MOVING FIRING_A
10967      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
10968      AliasConditionState = MOVING RELOADING_A
10969  
10970      ConditionState      = MOVING REALLYDAMAGED
10971        Animation         = UIHERO_SKL.UIHERO_IRNA 30
10972        AnimationMode     = LOOP
10973        Flags             = RANDOMSTART
10974        TransitionKey     = None
10975        ParticleSysBone   = None InfantryDustTrails
10976      End
10977      AliasConditionState = MOVING FIRING_A REALLYDAMAGED
10978      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
10979      AliasConditionState = MOVING RELOADING_A REALLYDAMAGED
10980      
10981      ; --- cheering
10982      ConditionState      = SPECIAL_CHEERING
10983        Animation         = UIHERO_SKL.UIHERO_CHA
10984        AnimationMode     = LOOP
10985      End
10986  
10987      ConditionState      = SPECIAL_CHEERING REALLYDAMAGED
10988        Animation         = UIHERO_SKL.UIHERO_ICHA
10989        AnimationMode     = LOOP
10990      End
10991      
10992      ; --- dying
10993      ConditionState      = DYING
10994        Animation         = UIHERO_SKL.UIHERO_DTA
10995        Animation         = UIHERO_SKL.UIHERO_DTB
10996        Animation         = UIHERO_SKL.UIHERO_IDTA
10997        Animation         = UIHERO_SKL.UIHERO_IDTB
10998        AnimationMode     = ONCE
10999        TransitionKey     = TRANS_Dying
11000      End
11001  
11002      TransitionState     = TRANS_Dying TRANS_Flailing
11003        Animation         = UIHERO_SKL.UIHERO_ADTG21
11004        AnimationMode     = ONCE
11005      End
11006  
11007      ConditionState      = DYING EXPLODED_FLAILING
11008        Animation         = UIHERO_SKL.UIHERO_ADTG22
11009        AnimationMode     = LOOP
11010        TransitionKey     = TRANS_Flailing
11011      End
11012  
11013      ConditionState      = DYING EXPLODED_BOUNCING
11014        Animation         = UIHERO_SKL.UIHERO_ADTG23
11015        AnimationMode     = ONCE
11016        TransitionKey     = None
11017      End
11018      
11019      ; --- falling
11020      ConditionState      = FREEFALL
11021        Animation         = UIHERO_SKL.UIHERO_PFL
11022        AnimationMode     = LOOP
11023        TransitionKey     = TRANS_Falling
11024      End
11025      AliasConditionState = FREEFALL REALLYDAMAGED
11026      AliasConditionState = FREEFALL DYING
11027  
11028      ConditionState      = PARACHUTING
11029        Animation         = UIHERO_SKL.UIHERO_PHG
11030        AnimationMode     = LOOP
11031        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
11032        TransitionKey     = TRANS_Chute
11033      End
11034      AliasConditionState = PARACHUTING REALLYDAMAGED
11035      AliasConditionState = PARACHUTING DYING
11036  
11037      TransitionState     = TRANS_Falling TRANS_Chute
11038        Animation         = UIHERO_SKL.UIHERO_POP
11039        AnimationMode     = ONCE
11040        Flags             = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
11041      End
11042  
11043      TransitionState     = TRANS_Chute TRANS_Stand
11044        Animation         = UIHERO_SKL.UIHERO_PTD
11045        AnimationMode     = ONCE
11046      End
11047  
11048      TransitionState     = TRANS_Chute TRANS_StandInjured
11049        Animation         = UIHERO_SKL.UIHERO_PTD
11050        AnimationMode     = ONCE
11051      End
11052      
11053    End
11054  
11055    ; ***DESIGN parameters ***
11056    DisplayName           = OBJECT:JarmenKell
11057    Side                  = GLAToxinGeneral
11058    EditorSorting         = INFANTRY
11059    TransportSlotCount    = 1                 ;how many "slots" we take in a transport (0 == not transportable)
11060    MaxSimultaneousOfType = 1
11061   
11062    WeaponSet
11063      Conditions = None 
11064      Weapon = PRIMARY GLAJarmenKellRifle
11065      Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle
11066      AutoChooseSources = SECONDARY NONE
11067    End
11068  
11069    ArmorSet
11070      Conditions      = None
11071      Armor           = HumanArmor
11072      DamageFX        = InfantryDamageFX
11073    End
11074    VisionRange         = 200
11075    ShroudClearingRange = 400
11076    Prerequisites
11077      Object = Chem_GLABarracks
11078      Object = Chem_GLAPalace
11079    End
11080    BuildCost = 1500
11081    BuildTime = 20.0          ;in seconds  
11082  
11083    ExperienceValue     = 50 50 100 150    ;Experience point value at each level
11084    ExperienceRequired  = 0 100 200 400  ;Experience points needed to gain each level
11085    IsTrainable         = Yes             ;Can gain experience
11086    CrushableLevel      = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
11087    CommandSet          = GLAInfantryJarmenKellCommandSet
11088  
11089    ; *** AUDIO Parameters ***
11090    VoiceSelect = JarmenKellVoiceSelect
11091    VoiceMove = JarmenKellVoiceMove
11092    VoiceGuard = JarmenKellVoiceMove
11093    VoiceAttack = JarmenKellVoiceAttack
11094    VoiceFear = JarmenKellVoiceFear
11095    SoundStealthOn = StealthOn
11096    SoundStealthOff = StealthOff
11097    
11098    UnitSpecificSounds
11099      VoiceCreate          = JarmenKellVoiceCreate
11100      VoiceSnipePilot      = JarmenKellVoiceSnipe
11101      VoiceGarrison = JarmenKellVoiceGarrison
11102      VoiceEnter = JarmenKellVoiceMove
11103      VoiceEnterHostile = JarmenKellVoiceMove
11104      VoiceGetHealed      = JarmenKellVoiceMove
11105    End
11106  
11107  
11108    ; *** ENGINEERING Parameters ***
11109    RadarPriority = UNIT
11110    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER STEALTH_GARRISON SCORE HERO CANNOT_RETALIATE
11111  
11112    Body = ActiveBody ModuleTag_02
11113      MaxHealth       = 200.0
11114      InitialHealth   = 200.0
11115    End
11116  
11117    Behavior = AIUpdateInterface ModuleTag_03
11118      AutoAcquireEnemiesWhenIdle = Yes
11119    End
11120    Locomotor = SET_NORMAL JarmenKellLocomotor
11121  
11122    Behavior = PhysicsBehavior ModuleTag_04
11123      Mass = 5.0
11124    End
11125    Behavior = StealthUpdate ModuleTag_06
11126      StealthDelay                = 2000 ; msec
11127      StealthForbiddenConditions  = ATTACKING
11128      InnateStealth               = Yes
11129      OrderIdleEnemiesToAttackMeUponReveal  = Yes
11130      EnemyDetectionEvaEvent      = EnemyJarmenKellDetected
11131      OwnDetectionEvaEvent        = OwnJarmenKellDetected
11132    End
11133  
11134    Behavior = CommandButtonHuntUpdate  ModuleTag_07 ; allows use of command button hunt script with this unit. 
11135    End
11136  
11137    Behavior = WeaponBonusUpgrade ModuleTag_08
11138      TriggeredBy = Upgrade_GLAAPBullets
11139    End
11140   
11141    ;Hero units can't be squished!
11142    ;Behavior = SquishCollide ModuleTag_09
11143    ;  ;nothing
11144    ;End
11145  
11146  
11147  ; --- begin Death modules ---
11148    Behavior = SlowDeathBehavior ModuleTag_Death01
11149      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
11150      SinkDelay           = 3000
11151      SinkRate            = 0.5     ; in Dist/Sec
11152      DestructionDelay    = 8000
11153      FX                  = INITIAL FX_JarmenKellDie
11154    End
11155    Behavior = SlowDeathBehavior ModuleTag_Death02
11156      DeathTypes          = NONE +CRUSHED +SPLATTED
11157      SinkDelay           = 3000
11158      SinkRate            = 0.5     ; in Dist/Sec
11159      DestructionDelay    = 8000
11160      FX                  = INITIAL FX_GIDieCrushed
11161    End
11162    Behavior = SlowDeathBehavior ModuleTag_Death03
11163      DeathTypes          = NONE +EXPLODED
11164      SinkDelay           = 3000
11165      SinkRate            = 0.5     ; in Dist/Sec
11166      DestructionDelay    = 8000
11167      FX                  = INITIAL FX_JarmenKellDie
11168      FlingForce          = 8
11169      FlingForceVariance  = 3
11170      FlingPitch          = 60
11171      FlingPitchVariance  = 10
11172    End
11173    Behavior = SlowDeathBehavior ModuleTag_Death04
11174      DeathTypes          = NONE +BURNED
11175      DestructionDelay    = 0
11176      FX                  = INITIAL FX_DieByFireGLA
11177      OCL                 = INITIAL OCL_FlamingInfantry
11178    End
11179    Behavior = SlowDeathBehavior ModuleTag_Death05
11180      DeathTypes          = NONE +POISONED
11181      DestructionDelay    = 0
11182      FX                  = INITIAL FX_DieByToxinGLA
11183      OCL                 = INITIAL OCL_ToxicInfantry
11184    End
11185    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
11186      DeathTypes          = NONE +POISONED_BETA
11187      DestructionDelay    = 0
11188      FX                  = INITIAL FX_DieByToxinGLA
11189      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
11190    End
11191  
11192    Behavior = SlowDeathBehavior ModuleTag_Death07
11193      DeathTypes          = NONE +POISONED_GAMMA
11194      DestructionDelay    = 0
11195      FX                  = INITIAL FX_DieByToxinGLA
11196      OCL                 = INITIAL OCL_ToxicInfantryGamma
11197    End
11198  
11199  ; --- end Death modules ---
11200  
11201    Behavior = PoisonedBehavior ModuleTag_14
11202      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
11203      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
11204    End
11205   
11206    Geometry = CYLINDER
11207    GeometryMajorRadius = 10.0
11208    GeometryMinorRadius = 10.0
11209    GeometryHeight = 12.0
11210    GeometryIsSmall = Yes
11211    Shadow = SHADOW_DECAL
11212    ShadowSizeX = 14;
11213    ShadowSizeY = 14;
11214    ShadowTexture = ShadowI;
11215    BuildCompletion = APPEARS_AT_RALLY_POINT
11216  
11217  End
11218  
11219  
11220  
11221  
11222  
11223  
11224  
11225  ;------------------------------------------------------------------------------
11226  ;Tunnel Fanatic ;Now called the RPG Trooper
11227  Object Chem_GLAInfantryTunnelDefender
11228  
11229    ; *** ART Parameters ***
11230    SelectPortrait         = SURPG_L
11231    ButtonImage            = SURPG
11232    
11233    UpgradeCameo1 = Upgrade_GLAAPRockets
11234    ;UpgradeCameo2 = NONE
11235    ;UpgradeCameo3 = NONE
11236    ;UpgradeCameo4 = NONE
11237    ;UpgradeCameo5 = NONE
11238  
11239    Draw = W3DModelDraw ModuleTag_01
11240      OkToChangeModelColor = Yes
11241  
11242      DefaultConditionState
11243        Model = UITunF_SKN
11244        IdleAnimation = UITunF_SKL.UITunF_STA 0 20
11245        IdleAnimation = UITunF_SKL.UITunF_IDA 
11246        IdleAnimation = UITunF_SKL.UITunF_IDB 
11247        IdleAnimation = UITunF_SKL.UITunF_IDC 
11248        AnimationMode = ONCE
11249        WeaponMuzzleFlash = PRIMARY MuzzleFX
11250        WeaponFireFXBone = PRIMARY Muzzle
11251        WeaponLaunchBone = PRIMARY Muzzle
11252      End
11253  
11254      ConditionState = MOVING
11255        Animation = UITunF_SKL.UITunF_WKA 16
11256        Animation = UITunF_SKL.UITunF_WKB 30
11257        Animation = UITunF_SKL.UITunF_WKC 30
11258        Animation = UITunF_SKL.UITunF_RNA 15
11259        Animation = UITunF_SKL.UITunF_RNB 25   
11260        AnimationMode = LOOP
11261        ParticleSysBone   = None InfantryDustTrails
11262      End
11263  
11264      ConditionState = DYING
11265        Animation = UITunF_SKL.UITunF_DTA 
11266        Animation = UITunF_SKL.UITunF_DTB 
11267        AnimationMode = ONCE
11268        TransitionKey = TRANS_Dying
11269      End
11270  
11271      TransitionState = TRANS_Dying TRANS_Flailing
11272        Animation = UITunF_SKL.UITunF_ADTA1
11273        Animation = UITunF_SKL.UITunF_ADTE1
11274        Animation = UITunF_SKL.UITunF_ADTF1
11275        AnimationMode = ONCE
11276      End
11277  
11278      ConditionState = DYING EXPLODED_FLAILING
11279        Animation = UITunF_SKL.UITunF_ADTA2
11280        Animation = UITunF_SKL.UITunF_ADTE2
11281        Animation = UITunF_SKL.UITunF_ADTF2
11282        AnimationMode = LOOP
11283        TransitionKey = TRANS_Flailing
11284      End
11285  
11286      ConditionState = DYING EXPLODED_BOUNCING
11287        Animation = UITunF_SKL.UITunF_ADTA3
11288        Animation = UITunF_SKL.UITunF_ADTE3
11289        Animation = UITunF_SKL.UITunF_ADTF3
11290        AnimationMode = ONCE
11291        TransitionKey = None
11292      End
11293  
11294      ConditionState = FIRING_A 
11295        Animation = UITunF_SKL.UITunF_ATA 
11296        AnimationMode = ONCE
11297        TransitionKey = TRANS_START_FIRING
11298      End
11299      ConditionState = BETWEEN_FIRING_SHOTS_A
11300        Animation = UITunF_SKL.UITunF_STA
11301        AnimationMode = ONCE
11302        ; this is basically a trick: this guy has a nontrivial animation for firing,
11303        ; and a long recycle time between shots. we want him to finish his fire animation
11304        ; (unless he's ordered to do something else), so this is just a handy trick that
11305        ; says, "if the previous state had this transition key, allow it to finish before
11306        ; switching to us, if possible".
11307        WaitForStateToFinishIfPossible = TRANS_START_FIRING
11308      End
11309      AliasConditionState = RELOADING_A
11310  
11311      ConditionState = SPECIAL_CHEERING
11312        Animation = UITUNF_SKL.UITUNF_CHA
11313        AnimationMode = LOOP
11314      End
11315  
11316    End
11317  
11318    ; ***DESIGN parameters ***
11319    DisplayName      = OBJECT:TunnelDefender
11320    Side = GLAToxinGeneral
11321    EditorSorting = INFANTRY
11322    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
11323    WeaponSet
11324      Conditions          = None 
11325      Weapon              = PRIMARY   Chem_TunnelDefenderRocketWeaponBeta
11326      AutoChooseSources   = PRIMARY   FROM_PLAYER FROM_AI FROM_SCRIPT
11327      Weapon              = SECONDARY Chem_TunnelDefenderRocketWeaponBetaAir
11328      PreferredAgainst    = SECONDARY BALLISTIC_MISSILE AIRCRAFT
11329    End
11330    WeaponSet
11331      Conditions          = PLAYER_UPGRADE
11332      Weapon              = PRIMARY   Chem_TunnelDefenderRocketWeaponGamma
11333      AutoChooseSources   = PRIMARY   FROM_PLAYER FROM_AI FROM_SCRIPT
11334      Weapon              = SECONDARY Chem_TunnelDefenderRocketWeaponGammaAir
11335      PreferredAgainst    = SECONDARY BALLISTIC_MISSILE AIRCRAFT
11336    End  
11337    ArmorSet
11338      Conditions      = None
11339      Armor           = HumanArmor
11340      DamageFX        = InfantryDamageFX
11341    End
11342    VisionRange = 150
11343    ShroudClearingRange = 400
11344   ; Prerequisites
11345   ;   Object = Chem_GLATunnelNetwork
11346   ; End
11347    BuildCost = 300
11348    BuildTime = 5.0          ;in seconds  
11349  
11350    ExperienceValue = 20 20 40 60    ;Experience point value at each level
11351    ExperienceRequired = 0 100 200 400  ;Experience points needed to gain each level
11352    IsTrainable = Yes             ;Can gain experience
11353    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
11354    CommandSet      = GLAInfantryTunnelDefenderCommandSet
11355  
11356    ; *** AUDIO Parameters ***
11357    VoiceSelect = RPGTrooperVoiceSelect
11358    VoiceMove = RPGTrooperVoiceMove
11359    VoiceGuard = RPGTrooperVoiceMove
11360    VoiceAttack = RPGTrooperVoiceAttack
11361    VoiceFear = RPGTrooperVoiceFear
11362    UnitSpecificSounds
11363      VoiceCreate          = RPGTrooperVoiceCreate
11364      VoiceGarrison = RPGTrooperVoiceGarrison
11365      VoiceEnter = RPGTrooperVoiceMove
11366      VoiceEnterHostile = RPGTrooperVoiceMove
11367      VoiceGetHealed      = RPGTrooperVoiceMove
11368    End
11369  
11370  
11371    ; *** ENGINEERING Parameters ***
11372    RadarPriority = UNIT
11373    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE
11374  
11375    Body = ActiveBody ModuleTag_02
11376      MaxHealth       = 100.0
11377      InitialHealth   = 100.0
11378    End
11379  
11380    Behavior = AIUpdateInterface ModuleTag_03
11381      AutoAcquireEnemiesWhenIdle = Yes
11382    End
11383    Locomotor = SET_NORMAL MissileDefenderLocomotor
11384  
11385    Behavior = PhysicsBehavior ModuleTag_04
11386      Mass = 5.0
11387    End
11388   
11389    Behavior = SquishCollide ModuleTag_06
11390      ;nothing
11391    End
11392  
11393  ; --- begin Death modules ---
11394    Behavior = SlowDeathBehavior ModuleTag_Death01
11395      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
11396      SinkDelay           = 3000
11397      SinkRate            = 0.5     ; in Dist/Sec
11398      DestructionDelay    = 8000
11399      FX                  = INITIAL FX_RPGTrooperDie
11400    End
11401    Behavior = SlowDeathBehavior ModuleTag_Death02
11402      DeathTypes          = NONE +CRUSHED +SPLATTED
11403      SinkDelay           = 3000
11404      SinkRate            = 0.5     ; in Dist/Sec
11405      DestructionDelay    = 8000
11406      FX                  = INITIAL FX_GIDieCrushed
11407    End
11408    Behavior = SlowDeathBehavior ModuleTag_Death03
11409      DeathTypes          = NONE +EXPLODED
11410      SinkDelay           = 3000
11411      SinkRate            = 0.5     ; in Dist/Sec
11412      DestructionDelay    = 8000
11413      FX                  = INITIAL FX_RPGTrooperDie
11414      FlingForce          = 8
11415      FlingForceVariance  = 3
11416      FlingPitch          = 60
11417      FlingPitchVariance  = 10
11418    End
11419    Behavior = SlowDeathBehavior ModuleTag_Death04
11420      DeathTypes          = NONE +BURNED
11421      DestructionDelay    = 0
11422      FX                  = INITIAL FX_DieByFireGLA
11423      OCL                 = INITIAL OCL_FlamingInfantry
11424    End
11425    Behavior = SlowDeathBehavior ModuleTag_Death05
11426      DeathTypes          = NONE +POISONED
11427      DestructionDelay    = 0
11428      FX                  = INITIAL FX_DieByToxinGLA
11429      OCL                 = INITIAL OCL_ToxicInfantry
11430    End
11431    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
11432      DeathTypes          = NONE +POISONED_BETA
11433      DestructionDelay    = 0
11434      FX                  = INITIAL FX_DieByToxinGLA
11435      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
11436    End
11437  
11438    Behavior = SlowDeathBehavior ModuleTag_Death07
11439      DeathTypes          = NONE +POISONED_GAMMA
11440      DestructionDelay    = 0
11441      FX                  = INITIAL FX_DieByToxinGLA
11442      OCL                 = INITIAL OCL_ToxicInfantryGamma
11443    End
11444  
11445  ; --- end Death modules ---
11446  
11447    Behavior = PoisonedBehavior ModuleTag_12
11448      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
11449      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
11450    End
11451  
11452    Behavior = WeaponSetUpgrade ModuleTag_13
11453      TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma
11454    End
11455   
11456    Geometry = CYLINDER
11457    GeometryMajorRadius = 10.0
11458    GeometryMinorRadius = 10.0
11459    GeometryHeight = 12.0
11460    GeometryIsSmall = Yes
11461    Shadow = SHADOW_DECAL
11462    ShadowSizeX = 14;
11463    ShadowSizeY = 14;
11464    ShadowTexture = ShadowI;
11465    BuildCompletion = APPEARS_AT_RALLY_POINT
11466  
11467  End
11468  
11469  ;------------------------------------------------------------------------------
11470  ;***THESE UNITS ARE NOT SELECTABLE ANYMORE! To kill them, you must target
11471  ;   the stinger site. If the weapon does particular types of damage, it'll
11472  ;   kill guys inside first, then the site.
11473  Object Chem_GLAInfantryStingerSoldier
11474  
11475    ; *** ART Parameters ***
11476    SelectPortrait         = SUStinger_L
11477    ButtonImage            = SUStinger
11478  
11479    Draw = W3DModelDraw ModuleTag_01
11480      OkToChangeModelColor = Yes
11481  
11482      DefaultConditionState
11483        Model = UISmsd_SKN
11484        IdleAnimation = UISmsd_SKL.UISmsd_STA 0 45
11485        IdleAnimation = UISmsd_SKL.UISmsd_IDA 
11486        IdleAnimation = UISmsd_SKL.UISmsd_IDB 
11487        IdleAnimation = UISmsd_SKL.UISmsd_IDC 
11488        IdleAnimation = UISmsd_SKL.UISmsd_IDD 
11489        AnimationMode = ONCE
11490        WeaponMuzzleFlash = PRIMARY MuzzleFX
11491        WeaponFireFXBone = PRIMARY Exhaust
11492        WeaponLaunchBone = PRIMARY Muzzle
11493        WeaponFireFXBone = SECONDARY Exhaust
11494        WeaponLaunchBone = SECONDARY Muzzle
11495  
11496        WaitForStateToFinishIfPossible = TRANS_START_FIRING
11497  
11498      End
11499      AliasConditionState = BETWEEN_FIRING_SHOTS_A
11500      AliasConditionState = BETWEEN_FIRING_SHOTS_B
11501      AliasConditionState = RELOADING_A
11502      AliasConditionState = RELOADING_B
11503  
11504      ConditionState = MOVING
11505        Animation = UISmsd_SKL.UISmsd_WKB 25
11506        AnimationMode = LOOP
11507      End
11508  
11509      ConditionState = DYING
11510        Animation = UISmsd_SKL.UISmsd_DTA 
11511        Animation = UISmsd_SKL.UISmsd_DTB 
11512        AnimationMode = ONCE
11513        TransitionKey = TRANS_Dying
11514        WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish
11515      End
11516  
11517      TransitionState = TRANS_Dying TRANS_Flailing
11518        Animation = UISmsd_SKL.UISmsd_ADTF1
11519        Animation = UISmsd_SKL.UISmsd_ADTG21
11520        AnimationMode = ONCE
11521      End
11522  
11523      ConditionState = DYING EXPLODED_FLAILING
11524        Animation = UISmsd_SKL.UISmsd_ADTF2
11525        Animation = UISmsd_SKL.UISmsd_ADTG22
11526        AnimationMode = LOOP
11527        TransitionKey = TRANS_Flailing
11528        WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish
11529      End
11530  
11531      ConditionState = DYING EXPLODED_BOUNCING
11532        Animation = UISmsd_SKL.UISmsd_ADTF3
11533        Animation = UISmsd_SKL.UISmsd_ADTG23
11534        AnimationMode = ONCE
11535        TransitionKey = None
11536        WaitForStateToFinishIfPossible = NONE ; We got a Key from Default state, but Death does not need to wait for firing to finish
11537      End
11538  
11539      ConditionState = FIRING_A
11540        Animation = UISmsd_SKL.UISmsd_ATA
11541        AnimationMode = ONCE
11542        TransitionKey = TRANS_START_FIRING
11543      End
11544      ; AliasConditionState is a new keyword that says,
11545      ; "give me another ConditionState exactly like the previous
11546      ; one, except with different conditions". Useful when you
11547      ; have several states that are the same with only different condition bits.
11548      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
11549      AliasConditionState = MOVING FIRING_A
11550      AliasConditionState = MOVING RELOADING_A
11551  
11552      ConditionState = FIRING_B
11553        Animation = UISmsd_SKL.UISmsd_ATB
11554        AnimationMode = ONCE
11555        TransitionKey = TRANS_START_FIRINGB
11556      End
11557      ; AliasConditionState is a new keyword that says,
11558      ; "give me another ConditionState exactly like the previous
11559      ; one, except with different conditions". Useful when you
11560      ; have several states that are the same with only different condition bits.
11561      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
11562      AliasConditionState = MOVING FIRING_B
11563      AliasConditionState = MOVING RELOADING_B
11564  
11565  
11566      ConditionState = SPECIAL_CHEERING
11567        Animation = UISMSD_SKL.UISMSD_CHA
11568        AnimationMode = LOOP
11569      End
11570  
11571    End
11572  
11573    ; ***DESIGN parameters ***
11574    DisplayName      = OBJECT:StingerSoldier
11575    Side = GLAToxinGeneral
11576    EditorSorting = INFANTRY
11577    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
11578      WeaponSet
11579      Conditions          = None 
11580      Weapon              = PRIMARY   Chem_StingerMissileWeaponBeta
11581      AutoChooseSources   = PRIMARY   FROM_PLAYER FROM_AI FROM_SCRIPT
11582      Weapon              = SECONDARY Chem_StingerMissileWeaponAirBeta
11583      PreferredAgainst    = SECONDARY BALLISTIC_MISSILE AIRCRAFT
11584    End
11585    WeaponSet
11586      Conditions          = PLAYER_UPGRADE
11587      Weapon              = PRIMARY   Chem_StingerMissileWeaponGamma
11588      AutoChooseSources   = PRIMARY   FROM_PLAYER FROM_AI FROM_SCRIPT
11589      Weapon              = SECONDARY Chem_StingerMissileWeaponAirGamma
11590      PreferredAgainst    = SECONDARY BALLISTIC_MISSILE AIRCRAFT
11591    End
11592    ArmorSet
11593      Conditions      = None
11594      Armor           = StingerSoldierArmor ;Extra protection due to being enclosed by the stinger site.
11595      DamageFX        = None
11596    End
11597    VisionRange = 400.0
11598    ShroudClearingRange = 400
11599  
11600    Prerequisites
11601      Object = Chem_GLABarracks
11602    End
11603    BuildCost = 100
11604    BuildTime = 1.0          ;in seconds    
11605    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
11606  
11607  ;  CommandSet      = Chem_GLAInfantryRebelCommandSet
11608  
11609    ; *** AUDIO Parameters ***
11610    VoiceSelect = StingerSoldierVoiceSelect
11611    VoiceMove = StingerSoldierVoiceMove
11612    VoiceAttack = StingerSoldierVoiceAttack
11613  
11614    ; *** ENGINEERING Parameters ***
11615    RadarPriority = UNIT
11616    KindOf = PRELOAD CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER CLICK_THROUGH SPAWNS_ARE_THE_WEAPONS
11617  
11618    Body = ActiveBody ModuleTag_02
11619      MaxHealth       = 100.0
11620      InitialHealth   = 100.0
11621    End
11622  
11623    Behavior = StealthDetectorUpdate ModuleTag_16
11624      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
11625      DetectionRange = 200 ;Dustin, enable this for independant balancing!
11626      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
11627      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
11628    End
11629  
11630    Behavior = AIUpdateInterface ModuleTag_03
11631      AutoAcquireEnemiesWhenIdle = Yes Stealthed ATTACK_BUILDINGS
11632      MoodAttackCheckRate        = 250
11633    End
11634    Locomotor = SET_NORMAL BasicHumanLocomotor
11635    Behavior = PhysicsBehavior ModuleTag_04
11636      Mass = 5.0
11637    End
11638    Behavior = SlavedUpdate ModuleTag_06
11639      ;nothing
11640    End
11641  ;  Behavior = ProneUpdate ModuleTag_07
11642  ;    DamageToFramesRatio = 5.0 ; I take 20 damage, I go prone for 100.  For this guy, if any of my buds or my building take damage too (I have SlaveUpdate + ProneUpdate) Prone may get cut by itself though
11643  ;  End
11644  
11645    Behavior = SquishCollide ModuleTag_08
11646      ;nothing
11647    End
11648  
11649    ;Kris: Cut camo-netting from Chem General
11650    ;Behavior = StealthUpdate ModuleTag_09
11651    ;  StealthDelay                = 2500 ; msec
11652    ;  StealthForbiddenConditions  = ATTACKING USING_ABILITY NO_BLACK_MARKET TAKING_DAMAGE
11653    ;  MoveThresholdSpeed          = 3
11654    ;  InnateStealth               = No ;Requires upgrade first
11655    ;  OrderIdleEnemiesToAttackMeUponReveal  = Yes
11656    ;End
11657    ;Behavior = StealthUpgrade ModuleTag_10
11658    ;  TriggeredBy = Upgrade_GLACamoNetting
11659    ;End
11660  
11661  
11662  ; --- begin Death modules ---
11663    Behavior = SlowDeathBehavior ModuleTag_Death01
11664      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
11665      SinkDelay           = 3000
11666      SinkRate            = 0.5     ; in Dist/Sec
11667      DestructionDelay    = 8000
11668      FX                  = INITIAL FX_StingerSoldierDie
11669    End
11670    Behavior = SlowDeathBehavior ModuleTag_Death02
11671      DeathTypes          = NONE +CRUSHED +SPLATTED
11672      SinkDelay           = 3000
11673      SinkRate            = 0.5     ; in Dist/Sec
11674      DestructionDelay    = 8000
11675      FX                  = INITIAL FX_GIDieCrushed
11676    End
11677    Behavior = SlowDeathBehavior ModuleTag_Death03
11678      DeathTypes          = NONE +EXPLODED
11679      SinkDelay           = 3000
11680      SinkRate            = 0.5     ; in Dist/Sec
11681      DestructionDelay    = 8000
11682      FX                  = INITIAL FX_StingerSoldierDie
11683      FlingForce          = 8
11684      FlingForceVariance  = 3
11685      FlingPitch          = 60
11686      FlingPitchVariance  = 10
11687    End
11688    Behavior = SlowDeathBehavior ModuleTag_Death04
11689      DeathTypes          = NONE +BURNED
11690      DestructionDelay    = 0
11691      FX                  = INITIAL FX_DieByFireGLA
11692      OCL                 = INITIAL OCL_FlamingInfantry
11693    End
11694    Behavior = SlowDeathBehavior ModuleTag_Death05
11695      DeathTypes          = NONE +POISONED
11696      DestructionDelay    = 0
11697      FX                  = INITIAL FX_DieByToxinGLA
11698      OCL                 = INITIAL OCL_ToxicInfantry
11699    End
11700    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
11701      DeathTypes          = NONE +POISONED_BETA
11702      DestructionDelay    = 0
11703      FX                  = INITIAL FX_DieByToxinGLA
11704      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
11705    End
11706  
11707    Behavior = SlowDeathBehavior ModuleTag_Death07
11708      DeathTypes          = NONE +POISONED_GAMMA
11709      DestructionDelay    = 0
11710      FX                  = INITIAL FX_DieByToxinGLA
11711      OCL                 = INITIAL OCL_ToxicInfantryGamma
11712    End
11713  
11714  ; --- end Death modules ---
11715  
11716    Behavior = PoisonedBehavior ModuleTag_14
11717      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
11718      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
11719    End
11720  
11721    Behavior = WeaponSetUpgrade ModuleTag_15
11722      TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma
11723    End
11724   
11725    Geometry = CYLINDER
11726    GeometryMajorRadius = 10.0
11727    GeometryMinorRadius = 10.0
11728    GeometryHeight = 12.0
11729    GeometryIsSmall = Yes
11730    Shadow = SHADOW_DECAL
11731    ShadowSizeX = 14
11732    ShadowSizeY = 14
11733    ShadowTexture = ShadowI;
11734    BuildCompletion = APPEARS_AT_RALLY_POINT
11735  
11736  End
11737  
11738  
11739  
11740  
11741  
11742  
11743  ;------------------------------------------------------------------------------
11744  Object Chem_GLAInfantryTerrorist
11745  
11746  ; *** ART Parameters ***
11747    SelectPortrait         = SUTerrorist_L
11748    ButtonImage            = SUTerrorist
11749    
11750    ;UpgradeCameo1 = NONE
11751    ;UpgradeCameo2 = NONE
11752    ;UpgradeCameo3 = NONE
11753    ;UpgradeCameo4 = NONE
11754    ;UpgradeCameo5 = NONE
11755  
11756    Draw = W3DModelDraw ModuleTag_01
11757      OkToChangeModelColor = Yes
11758      DefaultConditionState
11759        Model = UITRST_SKN
11760        IdleAnimation = UITRST_SKL.UITRST_STA 0 25
11761        ;Regular spice animations
11762        IdleAnimation = UITRST_SKL.UITRST_IDA
11763        IdleAnimation = UITRST_SKL.UITRST_IDB
11764        AnimationMode = ONCE
11765        TransitionKey = TRANS_Stand
11766      End
11767  
11768      ConditionState = REALLYDAMAGED
11769        Animation = UITRST_SKL.UITRST_STA
11770        AnimationMode = LOOP
11771        TransitionKey = TRANS_Stand
11772      End
11773  
11774      ConditionState = FREEFALL
11775        Animation = UITRST_SKL.UITRST_PFL
11776        AnimationMode = LOOP
11777        TransitionKey = TRANS_Falling
11778      End
11779      AliasConditionState = FREEFALL REALLYDAMAGED
11780      AliasConditionState = FREEFALL DYING
11781  
11782      ConditionState = PARACHUTING
11783        Animation = UITRST_SKL.UITRST_PHG
11784        AnimationMode = LOOP
11785        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
11786        TransitionKey = TRANS_Chute
11787      End
11788      AliasConditionState = PARACHUTING REALLYDAMAGED
11789      AliasConditionState = PARACHUTING DYING
11790  
11791      ConditionState = MOVING
11792        Animation = UITRST_SKL.UITRST_RNA 15
11793        AnimationMode = LOOP
11794        Flags = RANDOMSTART
11795        TransitionKey = None
11796        ParticleSysBone   = None InfantryDustTrails
11797      End
11798      AliasConditionState = MOVING REALLYDAMAGED
11799  
11800      ConditionState = ATTACKING MOVING
11801        Animation = UITRST_SKL.UITRST_RNB 10
11802        AnimationMode = LOOP
11803        Flags = RANDOMSTART
11804        TransitionKey = None
11805      End
11806      AliasConditionState = ATTACKING MOVING REALLYDAMAGED
11807  
11808      ConditionState = PREATTACK_A
11809        Animation = UITRST_SKL.UITRST_ATA
11810        AnimationMode = ONCE
11811      End
11812      AliasConditionState = PREATTACK_A MOVING
11813   
11814      ConditionState = DYING
11815        Animation = UITRST_SKL.UITRST_DTA
11816        Animation = UITRST_SKL.UITRST_DTC
11817        AnimationMode = ONCE
11818        TransitionKey = TRANS_Dying
11819      End
11820  
11821      TransitionState = TRANS_Dying TRANS_Flailing
11822        Animation = UITRST_SKL.UITRST_ADTE1
11823        AnimationMode = ONCE
11824      End
11825  
11826      ConditionState = DYING EXPLODED_FLAILING
11827        Animation = UITRST_SKL.UITRST_ADTE2
11828        AnimationMode = LOOP
11829        TransitionKey = TRANS_Flailing
11830      End
11831  
11832      ConditionState = DYING EXPLODED_BOUNCING
11833        Animation = UITRST_SKL.UITRST_ADTE3
11834        AnimationMode = ONCE
11835        TransitionKey = None
11836      End
11837  
11838      ConditionState = SPECIAL_CHEERING
11839        Animation = UITRST_SKL.UITRST_CHA
11840        AnimationMode = LOOP
11841      End
11842  
11843      TransitionState = TRANS_Falling TRANS_Chute
11844        Animation = UITRST_SKL.UITRST_POP
11845        AnimationMode = ONCE
11846        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
11847      End
11848  
11849      TransitionState = TRANS_Chute TRANS_Stand
11850        Animation = UITRST_SKL.UITRST_PTD
11851        AnimationMode = ONCE
11852      End
11853  
11854    End
11855  
11856    ; ***DESIGN parameters ***
11857    DisplayName      = OBJECT:Chem_Terrorist
11858    Side = GLAToxinGeneral
11859    EditorSorting = INFANTRY
11860    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
11861    WeaponSet
11862      Conditions = None 
11863      ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE
11864      ;damage to do ini logic for type of death to play -- unresistable for success.
11865      Weapon = PRIMARY TerroristSuicideWeapon 
11866    End
11867    ArmorSet
11868      Conditions      = None
11869      Armor           = HumanArmor
11870      DamageFX        = InfantryDamageFX
11871    End
11872    VisionRange = 150
11873    ShroudClearingRange = 200
11874    Prerequisites
11875      Object = Chem_GLABarracks
11876    End
11877    BuildCost = 200
11878    BuildTime = 5.0          ;in seconds    
11879    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
11880    CommandSet    = GLAInfantryTerroristCommandSet
11881  
11882    ; *** AUDIO Parameters ***
11883    VoiceSelect = TerroristVoiceSelect
11884    VoiceMove = TerroristVoiceMove
11885    VoiceAttack = TerroristVoiceAttack
11886    VoiceFear = TerroristVoiceFear
11887    VoiceGuard = TerroristVoiceMove
11888    UnitSpecificSounds
11889      VoiceGarrison         = TerroristVoiceMove
11890      VoiceCreate           = TerroristVoiceCreate
11891      VoiceEnter            = TerroristVoiceEnter
11892      VoiceEnterHostile     = TerroristVoiceEnterHostile
11893      VoiceGetHealed      = TerroristVoiceMove
11894    End
11895  
11896    ; *** ENGINEERING Parameters ***
11897    RadarPriority = UNIT
11898    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE
11899  
11900    Body = ActiveBody ModuleTag_02
11901      MaxHealth       = 120.0
11902      InitialHealth   = 120.0
11903    End
11904  
11905    ExperienceValue     = 20 20 20 20  ; Experience point value at each level
11906  
11907    Behavior = AIUpdateInterface ModuleTag_03
11908      AutoAcquireEnemiesWhenIdle = Yes
11909    End
11910    Behavior = CommandButtonHuntUpdate  ModuleTag_CBH01 ; allows use of command button hunt script with this unit. 
11911    End
11912    Locomotor = SET_NORMAL FastHumanLocomotor
11913    Behavior = PhysicsBehavior ModuleTag_04
11914      Mass = 5.0
11915    End
11916  
11917    ;Kris
11918    Behavior = ConvertToCarBombCrateCollide       ModuleTag_06
11919      RequiredKindOf    = VEHICLE      ; we only give our bonus to VEHICLEs we collide with
11920      ;ForbiddenKindOf  = TRANSPORT DOZER  ; but not to TRANSPORTs or DOZERs!
11921      FXList            = FX_MakeCarBombSuccess
11922    End
11923   
11924    Behavior = SquishCollide ModuleTag_07
11925      ;nothing
11926    End
11927  
11928  ; --- begin Death modules ---
11929    Behavior = SlowDeathBehavior ModuleTag_Death01
11930      DeathTypes          = ALL  -SUICIDED -POISONED -POISONED_BETA -POISONED_GAMMA
11931      SinkDelay           = 3000
11932      SinkRate            = 0.5     ; in Dist/Sec
11933      DestructionDelay    = 8000
11934      FX                  = INITIAL FX_TerroristDie
11935    End
11936  
11937  
11938    ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS
11939      Behavior = SlowDeathBehavior ModuleTag_Death05
11940      DeathTypes          = NONE +POISONED
11941      DestructionDelay    = 0
11942      FX                  = INITIAL FX_DieByToxinGLA
11943      OCL                 = INITIAL OCL_ToxicInfantry_TerroristOnly
11944    End
11945    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
11946      DeathTypes          = NONE +POISONED_BETA
11947      DestructionDelay    = 0
11948      FX                  = INITIAL FX_DieByToxinGLA
11949      OCL                 = INITIAL OCL_ToxicInfantryBeta_TerroristOnly ;you'll have to create this OCL and make it use the blue guys instead of green ones
11950    End
11951  
11952    Behavior = SlowDeathBehavior ModuleTag_Death07
11953      DeathTypes          = NONE +POISONED_GAMMA
11954      DestructionDelay    = 0
11955      FX                  = INITIAL FX_DieByToxinGLA
11956      OCL                 = INITIAL OCL_ToxicInfantryGamma_TerroristOnly
11957    End
11958    ;POISON_DEATHS POISON_DEATHS POISON_DEATHS POISON_DEATHS
11959  
11960  
11961    ; I have just pulled my ripcord, and this ain't no parachute!
11962    Behavior = SlowDeathBehavior ModuleTag_Death03
11963      DeathTypes          = NONE +SUICIDED
11964      SinkDelay           = 3000
11965      SinkRate            = 0.5     ; in Dist/Sec
11966      DestructionDelay    = 8000
11967      FX                  = INITIAL FX_TerroristExplode
11968      FlingForce          = 8
11969      FlingForceVariance  = 3
11970      FlingPitch          = 60
11971      FlingPitchVariance  = 10
11972      OCL                 = INITIAL Chem_PoisonFieldGammaLarge
11973    End
11974    
11975    Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death04
11976      DeathWeapon   = SuicideDynamitePack
11977      StartsActive  = Yes                      ; turned on by upgrade
11978      DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED
11979    End
11980  
11981    Behavior = FireWeaponWhenDeadBehavior ModuleTag91
11982      DeathWeapon   = Chem_SuicideWeaponGamma
11983      StartsActive  = No
11984      TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma
11985      RequiresAllTriggers = Yes; 
11986      DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED
11987    End;
11988  
11989    Behavior = FireWeaponWhenDeadBehavior ModuleTag_92
11990      DeathWeapon   = Chem_SuicideWeaponBeta
11991      StartsActive  = No                      ; turned on by upgrade
11992      TriggeredBy   = Upgrade_GLAAnthraxBeta
11993      RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is
11994      ConflictsWith = Chem_Upgrade_GLAAnthraxGamma
11995    End
11996  
11997    Behavior = FireWeaponWhenDeadBehavior ModuleTag_93
11998      DeathWeapon   = Chem_SuicideWeapon
11999      StartsActive  = No                      ; turned on by upgrade
12000      ConflictsWith = Upgrade_GLAAnthraxBeta Chem_Upgrade_GLAAnthraxGamma 
12001    End
12002  
12003  ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames.
12004  ;  Behavior = GrantUpgradeCreate ModuleTag_94
12005  ;    UpgradeToGrant = Upgrade_GLAAnthraxBeta
12006  ;  End
12007  ; --- end Death modules ---
12008  
12009    Behavior = PoisonedBehavior ModuleTag_14
12010      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
12011      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
12012    End
12013   
12014    Geometry = CYLINDER
12015    GeometryMajorRadius = 10.0
12016    GeometryMinorRadius = 10.0
12017    GeometryHeight = 12.0
12018    GeometryIsSmall = Yes
12019    Shadow = SHADOW_DECAL
12020    ShadowSizeX = 14;
12021    ShadowSizeY = 14;
12022    ShadowTexture = ShadowI;
12023    BuildCompletion = APPEARS_AT_RALLY_POINT
12024  
12025  End
12026  
12027  
12028  
12029  
12030  
12031  
12032  
12033  
12034  ;------------------------------------------------------------------------------
12035  ;------------------------------------------------------------------------------
12036  Object Chem_GLAInfantryAngryMobNexus 
12037  
12038  ;**** ART Parameters **************************
12039    SelectPortrait         = SUAngryMob_L
12040    ButtonImage            = SUAngryMob
12041    
12042    UpgradeCameo1 = Upgrade_GLAArmTheMob
12043    ;UpgradeCameo2 = NONE
12044    ;UpgradeCameo3 = NONE
12045    ;UpgradeCameo4 = NONE
12046    ;UpgradeCameo5 = NONE
12047    
12048    Draw = W3DModelDraw ModuleTag_01
12049      OkToChangeModelColor = Yes
12050      DefaultConditionState
12051        Model = None
12052  ;      Model = AVBomber_B
12053      End
12054    End
12055  
12056  
12057  ;****DESIGN parameters **************************
12058  
12059    DisplayName      = OBJECT:AngryMobNexus
12060    Side = GLAToxinGeneral
12061  
12062    RadarPriority       = NOT_ON_RADAR
12063  
12064    EditorSorting   = INFANTRY
12065    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
12066  
12067    WeaponSet
12068      Conditions = None 
12069      Weapon = PRIMARY GLAAngryMobNexusHarmlessWeapon
12070      Weapon = SECONDARY GLAAngryMobNexusHarmlessWeapon
12071      Weapon = TERTIARY GLAAngryMobNexusHarmlessWeapon
12072    End
12073  
12074  
12075    ArmorSet
12076      Conditions      = None
12077      Armor           = InvulnerableAllArmor
12078      DamageFX        = None
12079    End
12080  
12081    BuildCost       = 800
12082    BuildTime       = 15.0          ;in seconds    
12083    VisionRange     = 150  ; it can scout for the spawn
12084    ShroudClearingRange = 0
12085  
12086    Prerequisites
12087      Object = Chem_GLABarracks
12088      Object = Chem_GLAPalace
12089    End
12090  
12091    ExperienceValue    = 5 5 5 5 ;Experience point value at each level
12092  
12093    IsTrainable     = No
12094  
12095  
12096  
12097    CommandSet    = GLAInfantryAngryMobCommandSet;
12098  
12099  ;**** AUDIO Parameters *****************************
12100    VoiceSelect = AngryMobVoiceSelect
12101    VoiceMove = AngryMobVoiceMove
12102    VoiceGuard = AngryMobVoiceMove
12103    VoiceAttack = AngryMobVoiceAttack
12104    SoundMoveStart = NoSound
12105    SoundAmbient = AngryMobAmbientLoop
12106    SoundAmbientRubble = NoSound
12107    UnitSpecificSounds
12108      VoiceCreate          = AngryMobVoiceCreate
12109    End
12110  
12111  
12112  ;**** ENGINEERING Parameters ******************************
12113  
12114    RadarPriority = UNIT
12115    KindOf = PRELOAD CAN_ATTACK INFANTRY MOB_NEXUS ATTACK_NEEDS_LINE_OF_SIGHT NO_COLLIDE SELECTABLE SCORE
12116    Body = ImmortalBody ModuleTag_02
12117      MaxHealth       = 99999.0
12118      InitialHealth   = 99999.0
12119    End
12120  
12121    Behavior = AIUpdateInterface ModuleTag_03
12122      AutoAcquireEnemiesWhenIdle = Yes
12123    End
12124  
12125    Locomotor = SET_NORMAL AngryMobNexusLocomotor ;Important! don't make the Nexus any faster!
12126    Locomotor = SET_WANDER AngryMobNexusLocomotor ;Important! don't make the Nexus any faster!
12127    Locomotor = SET_PANIC AngryMobNexusLocomotor ;Important! don't make the Nexus any faster!
12128  
12129  ;  Locomotor = SET_NORMAL WanderHumanLocomotor ;Important! don't make the Nexus any faster!
12130  ;  Locomotor = SET_WANDER WanderHumanLocomotor ;Important! don't make the Nexus any faster!
12131  ;  Locomotor = SET_PANIC WanderHumanLocomotor ;Important! don't make the Nexus any faster!
12132  
12133    Behavior = PhysicsBehavior ModuleTag_04
12134      Mass = 50.0
12135    End
12136  
12137    Behavior            = SpawnBehavior ModuleTag_05
12138      SpawnNumber       = 10
12139      SpawnReplaceDelay = 30000 ; 30 seconds
12140  
12141          SpawnTemplateName = GLAInfantryAngryMobPistol01 ; Aladdin
12142          SpawnTemplateName = GLAInfantryAngryMobRock02 ; Woman in the Gypsy Costume
12143          SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce
12144          SpawnTemplateName = GLAInfantryAngryMobPistol03 ; Skinny Guy with the Green Beret
12145          SpawnTemplateName = GLAInfantryAngryMobRock04 ; Fat guy with the tank top
12146          SpawnTemplateName = GLAInfantryAngryMobMolotov02 ; The Lady with the hot sauce
12147          SpawnTemplateName = GLAInfantryAngryMobPistol05 ; The robed dude with the Man-Veil
12148  
12149  
12150  
12151      ExitByBudding = Yes;!
12152  
12153      InitialBurst = 5 ; the first set of 5 will not delay
12154      OneShot     = No
12155      AggregateHealth = Yes
12156      SlavesHaveFreeWill = No
12157    End
12158  
12159    Behavior = QueueProductionExitUpdate ModuleTag_06
12160      UnitCreatePoint   = X:  0.0  Y:  0.0   Z:0.0
12161      NaturalRallyPoint = X: 0.0  Y:  0.0   Z:0.0
12162      ExitDelay     = 5000 ; 5 sec
12163      InitialBurst = 5 ; the first set of 5 will not delay
12164    End
12165  
12166    Behavior = DestroyDie ModuleTag_07
12167      DeathTypes = ALL
12168    End
12169  
12170    Geometry = CYLINDER
12171    GeometryMajorRadius = 1.0
12172    GeometryMinorRadius = 1.0
12173    GeometryHeight = 1.0     
12174    GeometryIsSmall = Yes 
12175    Shadow = SHADOW_VOLUME
12176  
12177  End
12178  
12179  
12180  
12181  
12182  
12183  ;------------------------------------------------------------------------------
12184  ;------------------------------------------------------------------------------
12185  Object Chem_GLAInfantryAngryMobPistol01
12186  
12187  ;**** ART Parameters ***
12188    Draw = W3DModelDraw DrawTag_01
12189      OkToChangeModelColor = Yes
12190  
12191      ; WHILE CARRYING PISTOL
12192      ;---------------------------------------------------------
12193      DefaultConditionState ;Idle with Pistol Holstered
12194        Model = UIMOB01_SKN
12195        IdleAnimation = UIMOB01_SKL.UIMOB01_IDA1 0 12
12196        IdleAnimation = UIMOB01_SKL.UIMOB01_IDA2 0 5
12197        IdleAnimation = UIMOB01_SKL.UIMOB01_CHA  0 5
12198        IdleAnimation = UIMOB01_SKL.UIMOB01_STA  0 5
12199        AnimationMode = ONCE
12200        AnimationSpeedFactorRange 0.9 1.1
12201        TransitionKey = TRANS_STAND_A
12202  
12203        WeaponFireFXBone = PRIMARY Muzzle
12204        WeaponMuzzleFlash = PRIMARY MuzzleFX
12205        WeaponFireFXBone = SECONDARY MuzzleAK
12206        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
12207      End
12208  
12209      ; Drawing pistol
12210      ConditionState  = PREATTACK_A
12211        Animation     = UIMOB01_SKL.UIMOB01_ATA1_ST ; start firing
12212        AnimationMode = ONCE
12213      End
12214      AliasConditionState = PREATTACK_A FIRING_A
12215      AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A
12216  
12217      ; Firing pistol
12218      ConditionState = FIRING_A
12219        Animation = UIMOB01_SKL.UIMOB01_ATA1_LP ; looping firing
12220        AnimationMode = LOOP
12221        TransitionKey = TRANS_FIRING_A
12222      End
12223      AliasConditionState  = BETWEEN_FIRING_SHOTS_A
12224      
12225      ConditionState  = RELOADING_A
12226        Animation     = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing
12227        AnimationMode = ONCE
12228      End
12229  
12230      ; This transition allows him to put his gun away when he's finished attacking.
12231      TransitionState = TRANS_FIRING_A TRANS_STAND_A
12232        Animation     = UIMOB01_SKL.UIMOB01_ATA1_ED ; end firing
12233        AnimationMode = ONCE
12234      End
12235  
12236      ConditionState = MOVING
12237        Animation = UIMOB01_SKL.UIMOB01_RNA 
12238        AnimationMode = LOOP
12239        Flags = RANDOMSTART
12240        TransitionKey   = MOVING
12241        ParticleSysBone   = None InfantryDustTrails
12242      End
12243      AliasConditionState = MOVING RELOADING_A
12244      AliasConditionState = MOVING PREATTACK_A
12245      AliasConditionState = MOVING FIRING_A
12246      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
12247      AliasConditionState = MOVING RELOADING_C RELOADING_A 
12248      AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 
12249  
12250      ConditionState = DYING
12251        Animation = UIMOB01_SKL.UIMOB01_DA1    
12252        Animation = UIMOB01_SKL.UIMOB01_DA2
12253        AnimationMode = ONCE
12254        TransitionKey = TRANS_Dying
12255      End
12256  
12257  
12258      ConditionState = SPECIAL_CHEERING
12259        Animation = UIMOB01_SKL.UIMOB01_CHA
12260        AnimationMode = ONCE
12261      End
12262  
12263      ;--------------------------------------------------------
12264      ; TRANSITION FROM PISTOL TO AK47
12265      TransitionState = TRANS_STAND_A TRANS_STAND_AK
12266        Animation = UIMOB01_SKL.UIMOB01_TA-D
12267        AnimationMode = ONCE
12268      End
12269  
12270      ; WHILE CARRYING AK47 
12271      ;---------------------------------------------------------
12272      ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung
12273        Model = UIMOB01_SKN
12274        IdleAnimation = UIMOB01_SKL.UIMOB01_IDD1 0 6
12275        IdleAnimation = UIMOB01_SKL.UIMOB01_IDD2 0 6
12276        IdleAnimation = UIMOB01_SKL.UIMOB01_CHD  0 6
12277        IdleAnimation = UIMOB01_SKL.UIMOB01_STD
12278        AnimationMode = ONCE
12279        AnimationSpeedFactorRange 0.9 1.1
12280        TransitionKey = TRANS_STAND_AK
12281      End
12282  
12283      ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE
12284        Animation = UIMOB01_SKL.UIMOB01_RND 
12285        AnimationMode = LOOP
12286        Flags = RANDOMSTART
12287        TransitionKey   = MOVING_AK
12288      End
12289  
12290      ConditionState = DYING WEAPONSET_PLAYER_UPGRADE
12291        Animation = UIMOB01_SKL.UIMOB01_DD1    
12292        Animation = UIMOB01_SKL.UIMOB01_DD2
12293        AnimationMode = ONCE
12294        TransitionKey = TRANS_Dying
12295      End
12296  
12297      ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE
12298        Animation = UIMOB01_SKL.UIMOB01_CHD
12299        AnimationMode = ONCE
12300      End
12301  
12302      ; Drawing AK47
12303      ConditionState  = PREATTACK_B WEAPONSET_PLAYER_UPGRADE
12304        Animation     = UIMOB01_SKL.UIMOB01_ATD1_ST ; start firing
12305        AnimationMode = ONCE
12306      End
12307      AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE
12308      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
12309  
12310      ; Firing Gun
12311      ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE
12312        Animation = UIMOB01_SKL.UIMOB01_ATD1_LP ; looping firing
12313        AnimationMode = LOOP
12314        WeaponFireFXBone = SECONDARY MuzzleAK
12315        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
12316        TransitionKey = TRANS_FIRING_AK
12317      End
12318      AliasConditionState  = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
12319  
12320  
12321      ConditionState  = RELOADING_B WEAPONSET_PLAYER_UPGRADE
12322        Animation     = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing
12323        AnimationMode = ONCE
12324      End
12325  
12326  
12327      ; This transition allows him to put his gun away when he's finished attacking.
12328      TransitionState = TRANS_FIRING_AK TRANS_STAND_AK
12329        Animation     = UIMOB01_SKL.UIMOB01_ATD1_ED ; end firing
12330        AnimationMode = ONCE
12331      End
12332  
12333  ;    ;Throwing bottle----------------------------------------------------------------
12334  ;    ConditionState = PREATTACK_C 
12335  ;      Animation     = UIMOB01_SKL.UIMOB01_ATCA_BF ; the wind up
12336  ;    End
12337  ;    AliasConditionState = PREATTACK_C FIRING_A
12338  ;    AliasConditionState = PREATTACK_C RELOADING_A
12339  ;    AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 
12340  ;
12341  ;    ConditionState = FIRING_C 
12342  ;      Animation     = UIMOB01_SKL.UIMOB01_ATCA_AF ; the release and follow-thru
12343  ;      TransitionKey = TRANS_THROW
12344  ;    End
12345  ;    AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A
12346  ;
12347  ;    ConditionState RELOADING_C
12348  ;      Animation =UIMOB01_SKL.UIMOB01_IDA1
12349  ;      WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru
12350  ;    End
12351  ;    AliasConditionState = RELOADING_C RELOADING_A
12352  ;    AliasConditionState = RELOADING_C FIRING_A
12353  ;    AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A
12354  
12355  
12356  ;    TransitionState = TRANSXXX TRANS_THROW
12357  ;      Animation     = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway gun and take out bottle
12358  ;    End
12359  
12360  ;    TransitionState = TRANS_THROW TRANS_FIRING_A
12361  ;      Animation     = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get PISTOL
12362  ;    End
12363  
12364  ;    TransitionState = TRANSXXXAK TRANS_THROW
12365  ;      Animation     = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway AK and take out bottle
12366  ;    End
12367  
12368  ;    TransitionState = TRANS_THROW TRANS_FIRING_AK
12369  ;      Animation     = UIMOB01_SKL.UIMOB01_XXXXXXXXputaway bottle and get AK
12370  ;    End
12371  
12372      ;--------------------------------------------------------
12373  
12374      TransitionState = TRANS_Dying TRANS_Flailing
12375        Animation = UIMOB01_SKL.UIMOB01_A_ADTE1
12376        Animation = UIMOB01_SKL.UIMOB01_D_ADTE1
12377        AnimationMode = ONCE
12378      End
12379  
12380      ConditionState = DYING EXPLODED_FLAILING
12381        Animation = UIMOB01_SKL.UIMOB01_A_ADTE2
12382        Animation = UIMOB01_SKL.UIMOB01_D_ADTE2
12383        AnimationMode = LOOP
12384        TransitionKey = TRANS_Flailing
12385      End
12386  
12387      ConditionState = DYING EXPLODED_BOUNCING
12388        Animation = UIMOB01_SKL.UIMOB01_A_ADTE3
12389        Animation = UIMOB01_SKL.UIMOB01_D_ADTE3
12390        AnimationMode = ONCE
12391        TransitionKey = None
12392      End
12393    End
12394  
12395  ;**** DESIGN parameters ***
12396  
12397    DisplayName      = OBJECT:AngryMob
12398    Side = GLAToxinGeneral
12399    EditorSorting = INFANTRY
12400    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
12401  
12402    WeaponSet
12403      Conditions = None 
12404      Weapon = PRIMARY GLAAngryMobPistolWeapon
12405    End
12406  
12407    WeaponSet
12408      Conditions = PLAYER_UPGRADE 
12409      Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions
12410      Weapon = SECONDARY GLAAngryMobAK47Weapon
12411    End
12412  
12413    ArmorSet
12414      Conditions      = None
12415      Armor           = HumanArmor
12416      DamageFX        = InfantryDamageFX
12417    End
12418  
12419    VisionRange = 150
12420    ShroudClearingRange = 150
12421    Prerequisites
12422      Object = Chem_GLABarracks
12423    End
12424    BuildCost = 100
12425    BuildTime = 0.0           
12426  
12427    ExperienceValue = 5 5 5 5    ;Experience point value at each level
12428    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
12429    IsTrainable = Yes             ;Can gain experience
12430    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
12431  
12432    ; *** AUDIO Parameters ***
12433    VoiceSelect = NoSound 
12434    VoiceMove = NoSound   
12435    VoiceAttack = NoSound 
12436  
12437  ;**** ENGINEERING Parameters *** ;MOB01
12438    RadarPriority = UNIT
12439    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI  ;NO_COLLIDE ;Lorenzen disables 
12440  
12441    Body = ActiveBody BodyTag_01
12442      MaxHealth       = 50.0
12443      InitialHealth   = 50.0
12444    End
12445  
12446    Behavior = AIUpdateInterface ModuleTag_03
12447      AutoAcquireEnemiesWhenIdle = Yes
12448    End
12449  
12450    Behavior = MobMemberSlavedUpdate ModuleTag_04
12451      MustCatchUpRadius   = 40
12452      NoNeedToCatchUpRadius = 15
12453      Squirrelliness = 0.05
12454      CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames
12455    End
12456  
12457    Locomotor = SET_NORMAL AngryMobNormalLocomotor
12458    Locomotor = SET_WANDER AngryMobWanderLocomotor
12459    Locomotor = SET_PANIC AngryMobPanicLocomotor
12460  
12461    Behavior = PhysicsBehavior BehaviorTag_01
12462      Mass = 5.0
12463    End
12464  
12465    Behavior = SquishCollide ModuleTag_08
12466      ;nothing
12467    End
12468  
12469    Behavior = WeaponSetUpgrade UpgradeTag_01
12470      TriggeredBy = Upgrade_GLAArmTheMob
12471    End
12472  
12473  
12474  ; --- begin Death modules ---
12475    Behavior = SlowDeathBehavior DeathTag_01
12476      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
12477      SinkDelay           = 3000
12478      SinkRate            = 0.5     ; in Dist/Sec
12479      DestructionDelay    = 8000
12480      FX                  = INITIAL FX_CivilianArabMaleDie
12481    End
12482    Behavior = SlowDeathBehavior DeathTag_02
12483      DeathTypes          = NONE +CRUSHED +SPLATTED
12484      SinkDelay           = 3000
12485      SinkRate            = 0.5     ; in Dist/Sec
12486      DestructionDelay    = 8000
12487      FX                  = INITIAL FX_GIDieCrushed
12488    End
12489    Behavior = SlowDeathBehavior DeathTag_03
12490      DeathTypes          = NONE +EXPLODED
12491      SinkDelay           = 3000
12492      SinkRate            = 0.5     ; in Dist/Sec
12493      DestructionDelay    = 8000
12494      FX                  = INITIAL FX_CivilianArabMaleDie
12495      FlingForce          = 8
12496      FlingForceVariance  = 3
12497      FlingPitch          = 60
12498      FlingPitchVariance  = 10
12499    End
12500    Behavior = SlowDeathBehavior DeathTag_04
12501      DeathTypes          = NONE +BURNED
12502      DestructionDelay    = 0
12503      FX                  = INITIAL FX_GIDie
12504      OCL                 = INITIAL OCL_FlamingInfantry
12505    End
12506    Behavior = SlowDeathBehavior ModuleTag_Death05
12507      DeathTypes          = NONE +POISONED
12508      DestructionDelay    = 0
12509      FX                  = INITIAL FX_DieByToxinGLA
12510      OCL                 = INITIAL OCL_ToxicInfantry
12511    End
12512    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
12513      DeathTypes          = NONE +POISONED_BETA
12514      DestructionDelay    = 0
12515      FX                  = INITIAL FX_DieByToxinGLA
12516      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
12517    End
12518    Behavior = SlowDeathBehavior ModuleTag_Death07
12519      DeathTypes          = NONE +POISONED_GAMMA
12520      DestructionDelay    = 0
12521      FX                  = INITIAL FX_DieByToxinGLA
12522      OCL                 = INITIAL OCL_ToxicInfantryGamma
12523    End
12524  ; --- end Death modules ---
12525  
12526    Behavior = PoisonedBehavior BehaviorTag_02
12527      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
12528      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
12529    End
12530   
12531    Geometry = CYLINDER
12532    GeometryMajorRadius = 4.0 ; very thin
12533    GeometryHeight = 12.0
12534    GeometryIsSmall = Yes
12535    Shadow = SHADOW_DECAL
12536    ShadowSizeX = 14;
12537    ShadowSizeY = 14;
12538    ShadowTexture = ShadowI;
12539    BuildCompletion = APPEARS_AT_RALLY_POINT
12540  
12541  End
12542  
12543  
12544  ;------------------------------------------------------------------------------
12545  ;------------------------------------------------------------------------------
12546  Object Chem_GLAInfantryAngryMobRock02
12547  
12548  ;**** ART Parameters ***
12549    Draw = W3DModelDraw ModuleTag_01
12550      OkToChangeModelColor = Yes
12551  
12552      ; WHILE CARRYING ROCK
12553      ;---------------------------------------------------------
12554      DefaultConditionState
12555        Model = UIMOB02_SKN
12556        IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12
12557        IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5
12558        IdleAnimation = UIMOB02_SKL.UIMOB02_CHB  0 5
12559        IdleAnimation = UIMOB02_SKL.UIMOB02_STB  0 12
12560        AnimationMode = ONCE
12561        AnimationSpeedFactorRange 0.9 1.1
12562        TransitionKey = TRANS_STAND_A
12563  
12564        ;WeaponFireFXBone  = PRIMARY   "UIMOB02 R HAND"
12565        ;WeaponMuzzleFlash = PRIMARY   "UIMOB02 R HAND"
12566        WeaponFireFXBone =  SECONDARY MuzzleAK
12567        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
12568      End
12569  
12570  
12571      ; Drawing rock
12572      ConditionState  = PREATTACK_A
12573        Animation     = UIMOB02_SKL.UIMOB02_ATB2_BF ; wind up
12574        AnimationMode = ONCE
12575      End
12576      AliasConditionState = PREATTACK_A FIRING_A
12577      AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A
12578  
12579      ; throwing rock
12580      ConditionState = FIRING_A
12581        Animation = UIMOB02_SKL.UIMOB02_ATB1_AF ; throw
12582        Animation = UIMOB02_SKL.UIMOB02_ATB2_AF ; throw
12583        AnimationMode = ONCE
12584        TransitionKey = TRANS_FIRING_A
12585      End
12586      
12587      ConditionState = BETWEEN_FIRING_SHOTS_A
12588        Animation         = UIMOB02_SKL.UIMOB02_STB
12589        AnimationMode     = ONCE
12590        ; this is basically a trick: this guy has a nontrivial animation for firing,
12591        ; and a long recycle time between shots. we want him to finish his fire animation
12592        ; (unless he's ordered to do something else), so this is just a handy trick that
12593        ; says, "if the previous state had this transition key, allow it to finish before
12594        ; switching to us, if possible".
12595        WaitForStateToFinishIfPossible = TRANS_FIRING_A
12596      End
12597      AliasConditionState = RELOADING_A
12598  
12599  
12600      ConditionState = MOVING
12601        Animation = UIMOB02_SKL.UIMOB02_RNB 
12602        AnimationMode = LOOP
12603        Flags = RANDOMSTART
12604        TransitionKey   = MOVING
12605        ParticleSysBone   = None InfantryDustTrails
12606      End
12607  
12608      ConditionState = DYING
12609        Animation = UIMOB02_SKL.UIMOB02_DB1    
12610        Animation = UIMOB02_SKL.UIMOB02_DB2
12611        AnimationMode = ONCE
12612        TransitionKey = TRANS_Dying
12613      End
12614  
12615      ConditionState = SPECIAL_CHEERING
12616        Animation = UIMOB02_SKL.UIMOB02_CHB
12617        Flags = RANDOMSTART
12618        AnimationMode = LOOP
12619      End
12620  
12621  
12622      ;--------------------------------------------------------
12623      ; TRANSITION FROM PISTOL TO AK47
12624      TransitionState = TRANS_STAND_A TRANS_STAND_AK
12625        Animation = UIMOB02_SKL.UIMOB02_TB-D
12626        AnimationMode = ONCE
12627      End
12628  
12629  
12630      ; WHILE CARRYING AK47 
12631      ;---------------------------------------------------------
12632      ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung
12633        Model = UIMOB02_SKN
12634        IdleAnimation = UIMOB02_SKL.UIMOB02_IDD1 0 6
12635        IdleAnimation = UIMOB02_SKL.UIMOB02_IDD2 0 6
12636        IdleAnimation = UIMOB02_SKL.UIMOB02_CHD  0 6
12637        IdleAnimation = UIMOB02_SKL.UIMOB02_STD
12638        AnimationMode = ONCE
12639        AnimationSpeedFactorRange 0.9 1.1
12640        TransitionKey = TRANS_STAND_AK
12641      End
12642  
12643      ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE
12644        Animation = UIMOB02_SKL.UIMOB02_RND 
12645        AnimationMode = LOOP
12646        Flags = RANDOMSTART
12647        TransitionKey   = MOVING_AK
12648      End
12649  
12650      ConditionState = DYING WEAPONSET_PLAYER_UPGRADE
12651        Animation = UIMOB02_SKL.UIMOB02_DD1    
12652        Animation = UIMOB02_SKL.UIMOB02_DD2
12653        AnimationMode = ONCE
12654        TransitionKey = TRANS_Dying
12655      End
12656  
12657      ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE
12658        Animation = UIMOB02_SKL.UIMOB02_CHD
12659        AnimationMode = ONCE
12660      End
12661  
12662      ; Drawing AK47
12663      ConditionState  = PREATTACK_B WEAPONSET_PLAYER_UPGRADE
12664        Animation     = UIMOB02_SKL.UIMOB02_ATD1_ST ; start firing
12665        AnimationMode = ONCE
12666      End
12667      AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE
12668      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
12669  
12670      ; Firing Gun
12671      ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE
12672        Animation = UIMOB02_SKL.UIMOB02_ATD1_LP ; looping firing
12673        AnimationMode = LOOP
12674        WeaponFireFXBone = SECONDARY MuzzleAK
12675        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
12676        TransitionKey = TRANS_FIRING_AK
12677      End
12678      AliasConditionState  = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
12679  
12680  
12681      ConditionState  = RELOADING_B WEAPONSET_PLAYER_UPGRADE
12682        Animation     = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing
12683        AnimationMode = ONCE
12684      End
12685  
12686  
12687      ; This transition allows him to put his gun away when he's finished attacking.
12688      TransitionState = TRANS_FIRING_AK TRANS_STAND_AK
12689        Animation     = UIMOB02_SKL.UIMOB02_ATD1_ED ; end firing
12690        AnimationMode = ONCE
12691      End
12692  
12693  
12694  
12695  
12696      TransitionState = TRANS_Dying TRANS_Flailing
12697        Animation = UIMOB02_SKL.UIMOB02_B_ADTA1
12698        Animation = UIMOB02_SKL.UIMOB02_D_ADTA1
12699        AnimationMode = ONCE
12700      End
12701  
12702      ConditionState = DYING EXPLODED_FLAILING
12703        Animation = UIMOB02_SKL.UIMOB02_B_ADTA2
12704        Animation = UIMOB02_SKL.UIMOB02_D_ADTA2
12705        AnimationMode = LOOP
12706        TransitionKey = TRANS_Flailing
12707      End
12708  
12709      ConditionState = DYING EXPLODED_BOUNCING
12710        Animation = UIMOB02_SKL.UIMOB02_B_ADTA3
12711        Animation = UIMOB02_SKL.UIMOB02_D_ADTA3
12712        AnimationMode = ONCE
12713        TransitionKey = None
12714      End
12715  
12716  
12717    End
12718  
12719  
12720  ;**** DESIGN parameters ***
12721  
12722    DisplayName      = OBJECT:AngryMob
12723    Side = GLAToxinGeneral
12724    EditorSorting = INFANTRY
12725    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
12726  
12727    WeaponSet
12728      Conditions = None 
12729      Weapon = PRIMARY GLAAngryMobRockProjectileWeapon
12730    End
12731  
12732    WeaponSet
12733      Conditions = PLAYER_UPGRADE 
12734      Weapon = PRIMARY GLAAngryMobAK47NoDamageWeapon ; for atttacking in AK-proof conditions
12735      Weapon = SECONDARY GLAAngryMobAK47Weapon
12736    End
12737  
12738    ArmorSet
12739      Conditions      = None
12740      Armor           = HumanArmor
12741      DamageFX        = InfantryDamageFX
12742    End
12743  
12744    VisionRange = 150
12745    ShroudClearingRange = 150
12746    Prerequisites
12747      Object = Chem_GLABarracks
12748    End
12749    BuildCost = 100
12750    BuildTime = 0.0            
12751  
12752    ExperienceValue = 5 5 5 5    ;Experience point value at each level
12753    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
12754    IsTrainable = Yes             ;Can gain experience
12755    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
12756  
12757    ; *** AUDIO Parameters ***
12758    VoiceSelect = NoSound 
12759    VoiceMove = NoSound   
12760    VoiceAttack = NoSound 
12761  
12762  ;**** ENGINEERING Parameters *** ;MOB02
12763    RadarPriority = UNIT
12764    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI  ;NO_COLLIDE ;Lorenzen disables 
12765  
12766    Body = ActiveBody BodyTag_01
12767      MaxHealth       = 50.0
12768      InitialHealth   = 50.0
12769    End
12770  
12771    Behavior = AIUpdateInterface ModuleTag_03
12772      AutoAcquireEnemiesWhenIdle = Yes
12773    End
12774  
12775    Behavior = MobMemberSlavedUpdate ModuleTag_04
12776      MustCatchUpRadius   = 40
12777      NoNeedToCatchUpRadius = 15
12778      Squirrelliness = 0.05
12779      CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames
12780    End
12781  
12782    Locomotor = SET_NORMAL AngryMobNormalLocomotor
12783    Locomotor = SET_WANDER AngryMobWanderLocomotor
12784    Locomotor = SET_PANIC AngryMobPanicLocomotor
12785  
12786    Behavior = PhysicsBehavior ModuleTag_05
12787      Mass = 5.0
12788    End
12789  
12790    Behavior = SquishCollide ModuleTag_08
12791      ;nothing
12792    End
12793  
12794    Behavior = WeaponSetUpgrade UpgradeTag_01
12795      TriggeredBy = Upgrade_GLAArmTheMob
12796    End
12797  
12798  
12799  ; --- begin Death modules ---
12800    Behavior = SlowDeathBehavior ModuleTag_Death01
12801      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
12802      SinkDelay           = 3000
12803      SinkRate            = 0.5     ; in Dist/Sec
12804      DestructionDelay    = 8000
12805      FX                  = INITIAL FX_CivilianArabFemaleDie
12806    End
12807    Behavior = SlowDeathBehavior ModuleTag_Death02
12808      DeathTypes          = NONE +CRUSHED +SPLATTED
12809      SinkDelay           = 3000
12810      SinkRate            = 0.5     ; in Dist/Sec
12811      DestructionDelay    = 8000
12812      FX                  = INITIAL FX_GIDieCrushed
12813    End
12814    Behavior = SlowDeathBehavior ModuleTag_Death03
12815      DeathTypes          = NONE +EXPLODED
12816      SinkDelay           = 3000
12817      SinkRate            = 0.5     ; in Dist/Sec
12818      DestructionDelay    = 8000
12819      FX                  = INITIAL FX_CivilianArabFemaleDie
12820      FlingForce          = 8
12821      FlingForceVariance  = 3
12822      FlingPitch          = 60
12823      FlingPitchVariance  = 10
12824    End
12825    Behavior = SlowDeathBehavior ModuleTag_Death04
12826      DeathTypes          = NONE +BURNED
12827      DestructionDelay    = 0
12828      FX                  = INITIAL FX_GIDie
12829      OCL                 = INITIAL OCL_FlamingInfantry
12830    End
12831    Behavior = SlowDeathBehavior ModuleTag_Death05
12832      DeathTypes          = NONE +POISONED
12833      DestructionDelay    = 0
12834      FX                  = INITIAL FX_DieByToxinGLA
12835      OCL                 = INITIAL OCL_ToxicInfantry
12836    End
12837    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
12838      DeathTypes          = NONE +POISONED_BETA
12839      DestructionDelay    = 0
12840      FX                  = INITIAL FX_DieByToxinGLA
12841      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
12842    End
12843    Behavior = SlowDeathBehavior ModuleTag_Death07
12844      DeathTypes          = NONE +POISONED_GAMMA
12845      DestructionDelay    = 0
12846      FX                  = INITIAL FX_DieByToxinGLA
12847      OCL                 = INITIAL OCL_ToxicInfantryGamma
12848    End
12849  ; --- end Death modules ---
12850  
12851    Behavior = PoisonedBehavior ModuleTag_13
12852      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
12853      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
12854    End
12855   
12856    Geometry = CYLINDER
12857    GeometryMajorRadius = 4.0 ; very thin
12858    GeometryHeight = 12.0
12859    GeometryIsSmall = Yes
12860    Shadow = SHADOW_DECAL
12861    ShadowSizeX = 14;
12862    ShadowSizeY = 14;
12863    ShadowTexture = ShadowI;
12864    BuildCompletion = APPEARS_AT_RALLY_POINT
12865  
12866  End
12867  
12868  ;------------------------------------------------------------------------------
12869  ;------------------------------------------------------------------------------
12870  
12871  ObjectReskin Chem_GLAInfantryAngryMobPistol03 Chem_GLAInfantryAngryMobPistol01
12872  
12873  ;**** ART Parameters ***
12874    Draw = W3DModelDraw DrawTag_01
12875      OkToChangeModelColor = Yes
12876  
12877  
12878  
12879      ; WHILE CARRYING PISTOL
12880      ;---------------------------------------------------------
12881      DefaultConditionState ;Idle with Pistol Holstered
12882        Model = UIMOB03_SKN
12883        IdleAnimation = UIMOB03_SKL.UIMOB03_IDA1 0 12
12884        IdleAnimation = UIMOB03_SKL.UIMOB03_IDA2 0 5
12885        IdleAnimation = UIMOB03_SKL.UIMOB03_CHA  0 5
12886        IdleAnimation = UIMOB03_SKL.UIMOB03_STA  0 5
12887        AnimationMode = ONCE
12888        AnimationSpeedFactorRange 0.9 1.1
12889        TransitionKey = TRANS_STAND_A
12890  
12891        WeaponFireFXBone = PRIMARY Muzzle
12892        WeaponMuzzleFlash = PRIMARY MuzzleFX
12893        WeaponFireFXBone = SECONDARY MuzzleAK
12894        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
12895        WeaponFireFXBone = TERTIARY "UIMOB03 R HAND"
12896      End
12897  
12898      ; Drawing pistol
12899      ConditionState  = PREATTACK_A
12900        Animation     = UIMOB03_SKL.UIMOB03_ATA1_ST ; start firing
12901        AnimationMode = ONCE
12902      End
12903      AliasConditionState = PREATTACK_A FIRING_A
12904      AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A
12905  
12906      ; Firing pistol
12907      ConditionState = FIRING_A
12908        Animation = UIMOB03_SKL.UIMOB03_ATA1_LP ; looping firing
12909        AnimationMode = LOOP
12910        TransitionKey = TRANS_FIRING_A
12911      End
12912      AliasConditionState  = BETWEEN_FIRING_SHOTS_A
12913  
12914      ConditionState  = RELOADING_A
12915        Animation     = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing
12916        AnimationMode = ONCE
12917      End
12918  
12919      ; This transition allows him to put his gun away when he's finished attacking.
12920      TransitionState = TRANS_FIRING_A TRANS_STAND_A
12921        Animation     = UIMOB03_SKL.UIMOB03_ATA1_ED ; end firing
12922        AnimationMode = ONCE
12923      End
12924  
12925      ConditionState = MOVING
12926        Animation = UIMOB03_SKL.UIMOB03_RNA 
12927        AnimationMode = LOOP
12928        Flags = RANDOMSTART
12929        TransitionKey   = MOVING
12930        ParticleSysBone   = None InfantryDustTrails
12931      End
12932      AliasConditionState = MOVING RELOADING_A
12933      AliasConditionState = MOVING PREATTACK_A
12934      AliasConditionState = MOVING FIRING_A
12935      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
12936      AliasConditionState = MOVING RELOADING_C RELOADING_A 
12937      AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 
12938  
12939      ConditionState = DYING
12940        Animation = UIMOB03_SKL.UIMOB03_DA1    
12941        Animation = UIMOB03_SKL.UIMOB03_DA2
12942        AnimationMode = ONCE
12943        TransitionKey = TRANS_Dying
12944      End
12945  
12946  
12947      ConditionState = SPECIAL_CHEERING
12948        Animation = UIMOB03_SKL.UIMOB03_CHA
12949        AnimationMode = ONCE
12950      End
12951  
12952      ;--------------------------------------------------------
12953      ; TRANSITION FROM PISTOL TO AK47
12954      TransitionState = TRANS_STAND_A TRANS_STAND_AK
12955        Animation = UIMOB03_SKL.UIMOB03_TA-D
12956        AnimationMode = ONCE
12957      End
12958  
12959  
12960      ; WHILE CARRYING AK47 
12961      ;---------------------------------------------------------
12962      ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung
12963        Model = UIMOB03_SKN
12964        IdleAnimation = UIMOB03_SKL.UIMOB03_IDD1 0 6
12965        IdleAnimation = UIMOB03_SKL.UIMOB03_IDD2 0 6
12966        IdleAnimation = UIMOB03_SKL.UIMOB03_CHD  0 6
12967        IdleAnimation = UIMOB03_SKL.UIMOB03_STD
12968        AnimationMode = ONCE
12969        AnimationSpeedFactorRange 0.9 1.1
12970        TransitionKey = TRANS_STAND_AK
12971      End
12972  
12973      ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE
12974        Animation = UIMOB03_SKL.UIMOB03_RND 
12975        AnimationMode = LOOP
12976        Flags = RANDOMSTART
12977        TransitionKey   = MOVING_AK
12978      End
12979  
12980      ConditionState = DYING WEAPONSET_PLAYER_UPGRADE
12981        Animation = UIMOB03_SKL.UIMOB03_DD1    
12982        Animation = UIMOB03_SKL.UIMOB03_DD2
12983        AnimationMode = ONCE
12984        TransitionKey = TRANS_Dying
12985      End
12986  
12987      ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE
12988        Animation = UIMOB03_SKL.UIMOB03_CHD
12989        AnimationMode = ONCE
12990      End
12991  
12992      ; Drawing AK47
12993      ConditionState  = PREATTACK_B WEAPONSET_PLAYER_UPGRADE
12994        Animation     = UIMOB03_SKL.UIMOB03_ATD_ST ; start firing
12995        AnimationMode = ONCE
12996      End
12997      AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE
12998      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
12999  
13000      ; Firing Gun
13001      ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE
13002        Animation = UIMOB03_SKL.UIMOB03_ATD_LP ; looping firing
13003        AnimationMode = LOOP
13004        WeaponFireFXBone = SECONDARY MuzzleAK
13005        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
13006        TransitionKey = TRANS_FIRING_AK
13007      End
13008      AliasConditionState  = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
13009  
13010  
13011      ConditionState  = RELOADING_B WEAPONSET_PLAYER_UPGRADE
13012        Animation     = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing
13013        AnimationMode = ONCE
13014      End
13015  
13016  
13017      ; This transition allows him to put his gun away when he's finished attacking.
13018      TransitionState = TRANS_FIRING_AK TRANS_STAND_AK
13019        Animation     = UIMOB03_SKL.UIMOB03_ATD_ED ; end firing
13020        AnimationMode = ONCE
13021      End
13022  
13023  
13024  ;    ;Throwing bottle----------------------------------------------------------------
13025  ;    ConditionState = PREATTACK_C 
13026  ;      Animation     = UIMOB03_SKL.UIMOB03_ATCA_BF ; the wind up
13027  ;    End
13028  ;    AliasConditionState = PREATTACK_C FIRING_A
13029  ;    AliasConditionState = PREATTACK_C RELOADING_A
13030  ;    AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 
13031  ;
13032  ;    ConditionState = FIRING_C 
13033  ;      Animation     = UIMOB03_SKL.UIMOB03_ATCA_AF ; the release and follow-thru
13034  ;      TransitionKey = TRANS_THROW
13035  ;    End
13036  ;    AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A
13037  ;
13038  ;    ConditionState RELOADING_C
13039  ;      Animation =UIMOB03_SKL.UIMOB03_IDA1
13040  ;      WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru
13041  ;
13042  ;    End
13043  ;    AliasConditionState = RELOADING_C RELOADING_A
13044  ;    AliasConditionState = RELOADING_C FIRING_A
13045  ;    AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A
13046  
13047  
13048  ;    TransitionState = TRANSXXX TRANS_THROW
13049  ;      Animation     = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway gun and take out bottle
13050  ;    End
13051  
13052  ;    TransitionState = TRANS_THROW TRANS_FIRING_A
13053  ;      Animation     = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get PISTOL
13054  ;    End
13055  
13056  ;    TransitionState = TRANSXXXAK TRANS_THROW
13057  ;      Animation     = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway AK and take out bottle
13058  ;    End
13059  
13060  ;    TransitionState = TRANS_THROW TRANS_FIRING_AK
13061  ;      Animation     = UIMOB03_SKL.UIMOB03_XXXXXXXXputaway bottle and get AK
13062  ;    End
13063  
13064  
13065  
13066  
13067  
13068      ;--------------------------------------------------------
13069  
13070  
13071  
13072  
13073  
13074  
13075      TransitionState = TRANS_Dying TRANS_Flailing
13076        Animation = UIMOB03_SKL.UIMOB03_A_ADTD1
13077        Animation = UIMOB03_SKL.UIMOB03_D_ADTD1
13078        AnimationMode = ONCE
13079      End
13080  
13081      ConditionState = DYING EXPLODED_FLAILING
13082        Animation = UIMOB03_SKL.UIMOB03_A_ADTD2
13083        Animation = UIMOB03_SKL.UIMOB03_D_ADTD2
13084        AnimationMode = LOOP
13085        TransitionKey = TRANS_Flailing
13086      End
13087  
13088      ConditionState = DYING EXPLODED_BOUNCING
13089        Animation = UIMOB03_SKL.UIMOB03_A_ADTD3
13090        Animation = UIMOB03_SKL.UIMOB03_D_ADTD3
13091        AnimationMode = ONCE
13092        TransitionKey = None
13093      End
13094  
13095  
13096    End
13097  
13098  
13099    Geometry = CYLINDER
13100    GeometryMajorRadius = 3.0 ; very thin
13101    GeometryMinorRadius = 3.0 ; very thinD
13102    GeometryHeight = 12.0
13103    GeometryIsSmall = Yes
13104  
13105  End
13106  
13107  ;------------------------------------------------------------------------------
13108  ;------------------------------------------------------------------------------
13109  ObjectReskin Chem_GLAInfantryAngryMobRock04 Chem_GLAInfantryAngryMobRock02
13110  
13111  ;**** ART Parameters ***
13112    Draw = W3DModelDraw ModuleTag_01
13113      OkToChangeModelColor = Yes
13114  
13115      ; WHILE CARRYING ROCK
13116      ;---------------------------------------------------------
13117      DefaultConditionState
13118        Model = UIMOB04_SKN
13119        IdleAnimation = UIMOB04_SKL.UIMOB04_IDB1 0 12
13120        IdleAnimation = UIMOB04_SKL.UIMOB04_IDB2 0 5 
13121        IdleAnimation = UIMOB04_SKL.UIMOB04_CHB  0 5 
13122        IdleAnimation = UIMOB04_SKL.UIMOB04_STB  0 12
13123        AnimationMode = ONCE
13124        AnimationSpeedFactorRange 0.9 1.1
13125        TransitionKey = TRANS_STAND_A
13126        WaitForStateToFinishIfPossible TRANS_FIRING_A
13127  
13128        ;WeaponFireFXBone  = PRIMARY   "UIMOB04 R HAND"
13129        ;WeaponMuzzleFlash = PRIMARY   "UIMOB04 R HAND"
13130        WeaponFireFXBone =  SECONDARY MuzzleAK
13131        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
13132      End
13133  
13134  
13135      ; Drawing rock
13136      ConditionState  = PREATTACK_A
13137        Animation     = UIMOB04_SKL.UIMOB04_ATB2_BF ; wind up
13138        AnimationMode = ONCE
13139        AnimationSpeedFactorRange 1.0 1.0
13140      End
13141      AliasConditionState = PREATTACK_A FIRING_A
13142      AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A
13143  
13144      ; throwing rock
13145      ConditionState = FIRING_A
13146        Animation = UIMOB04_SKL.UIMOB04_ATB1_AF ; throw
13147        Animation = UIMOB04_SKL.UIMOB04_ATB2_AF ; throw
13148        AnimationMode = ONCE
13149        TransitionKey = TRANS_FIRING_A
13150      End
13151  
13152      ConditionState = BETWEEN_FIRING_SHOTS_A
13153        Animation         = UIMOB04_SKL.UIMOB04_STB
13154        AnimationMode     = ONCE
13155        ; this is basically a trick: this guy has a nontrivial animation for firing,
13156        ; and a long recycle time between shots. we want him to finish his fire animation
13157        ; (unless he's ordered to do something else), so this is just a handy trick that
13158        ; says, "if the previous state had this transition key, allow it to finish before
13159        ; switching to us, if possible".
13160        WaitForStateToFinishIfPossible = TRANS_FIRING_A
13161      End
13162      AliasConditionState = RELOADING_A
13163  
13164      ConditionState = MOVING
13165        Animation = UIMOB04_SKL.UIMOB04_RUN 
13166        AnimationMode = LOOP
13167        Flags = RANDOMSTART
13168        TransitionKey   = MOVING
13169        ParticleSysBone   = None InfantryDustTrails
13170      End
13171  
13172      ConditionState = DYING
13173        Animation = UIMOB04_SKL.UIMOB04_DB1    
13174        Animation = UIMOB04_SKL.UIMOB04_DB2
13175        AnimationMode = ONCE
13176        TransitionKey = TRANS_Dying
13177      End
13178  
13179      ConditionState = SPECIAL_CHEERING
13180        Animation = UIMOB04_SKL.UIMOB04_CHB
13181        Flags = RANDOMSTART
13182        AnimationMode = LOOP
13183      End
13184  
13185  
13186  
13187  
13188  
13189  
13190  
13191  
13192      ;--------------------------------------------------------
13193      ; TRANSITION FROM PISTOL TO AK47
13194      TransitionState = TRANS_STAND_A TRANS_STAND_AK
13195        Animation = UIMOB04_SKL.UIMOB04_TB-D
13196        AnimationMode = ONCE
13197      End
13198  
13199  
13200      ; WHILE CARRYING AK47 
13201      ;---------------------------------------------------------
13202      ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung
13203        Model = UIMOB04_SKN
13204        IdleAnimation = UIMOB04_SKL.UIMOB04_IDD1 0 6
13205        IdleAnimation = UIMOB04_SKL.UIMOB04_IDD2 0 6
13206        IdleAnimation = UIMOB04_SKL.UIMOB04_CHD  0 6
13207        IdleAnimation = UIMOB04_SKL.UIMOB04_STD
13208        AnimationMode = ONCE
13209        AnimationSpeedFactorRange 0.9 1.1
13210        TransitionKey = TRANS_STAND_AK
13211        WeaponFireFXBone = SECONDARY MuzzleAK
13212        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
13213      End
13214  
13215      ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE
13216        Animation = UIMOB04_SKL.UIMOB04_RND 
13217        AnimationMode = LOOP
13218        Flags = RANDOMSTART
13219        TransitionKey   = MOVING_AK
13220      End
13221  
13222      ConditionState = DYING WEAPONSET_PLAYER_UPGRADE
13223        Animation = UIMOB04_SKL.UIMOB04_DD1    
13224        Animation = UIMOB04_SKL.UIMOB04_DD2
13225        AnimationMode = ONCE
13226        TransitionKey = TRANS_Dying
13227      End
13228  
13229      ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE
13230        Animation = UIMOB04_SKL.UIMOB04_CHD
13231        AnimationMode = ONCE
13232      End
13233  
13234      ; Drawing AK47
13235      ConditionState  = PREATTACK_B WEAPONSET_PLAYER_UPGRADE
13236        Animation     = UIMOB04_SKL.UIMOB04_ATD1_ST ; start firing
13237        AnimationMode = ONCE
13238      End
13239      AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE
13240      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
13241  
13242      ; Firing Gun
13243      ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE
13244        Animation = UIMOB04_SKL.UIMOB04_ATD1_LP ; looping firing
13245        AnimationMode = LOOP
13246        WeaponFireFXBone = PRIMARY MuzzleAK
13247        WeaponMuzzleFlash = PRIMARY MuzzleAKFX
13248        TransitionKey = TRANS_FIRING_AK
13249      End
13250      AliasConditionState  = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
13251  
13252  
13253      ConditionState  = RELOADING_B WEAPONSET_PLAYER_UPGRADE
13254        Animation     = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing
13255        AnimationMode = ONCE
13256      End
13257  
13258  
13259      ; This transition allows him to put his gun away when he's finished attacking.
13260      TransitionState = TRANS_FIRING_AK TRANS_STAND_AK
13261        Animation     = UIMOB04_SKL.UIMOB04_ATD1_ED ; end firing
13262        AnimationMode = ONCE
13263      End
13264  
13265  
13266  
13267  
13268  
13269  
13270  
13271  
13272  
13273  
13274      TransitionState = TRANS_Dying TRANS_Flailing
13275        Animation = UIMOB04_SKL.UIMOB04_B_ADTF1
13276        Animation = UIMOB04_SKL.UIMOB04_D_ADTF1
13277        AnimationMode = ONCE
13278      End
13279  
13280      ConditionState = DYING EXPLODED_FLAILING
13281        Animation = UIMOB04_SKL.UIMOB04_B_ADTF2
13282        Animation = UIMOB04_SKL.UIMOB04_D_ADTF2
13283        AnimationMode = LOOP
13284        TransitionKey = TRANS_Flailing
13285      End
13286  
13287      ConditionState = DYING EXPLODED_BOUNCING
13288        Animation = UIMOB04_SKL.UIMOB04_B_ADTF3
13289        Animation = UIMOB04_SKL.UIMOB04_D_ADTF3
13290        AnimationMode = ONCE
13291        TransitionKey = None
13292      End
13293  
13294  
13295    End
13296  
13297    Geometry = CYLINDER
13298    GeometryMajorRadius = 5.0 ; kinda thin
13299    GeometryMinorRadius = 5.0 ; kinda thinD
13300    GeometryHeight = 12.0
13301    GeometryIsSmall = Yes
13302  
13303  End
13304  
13305  ;------------------------------------------------------------------------------
13306  ;------------------------------------------------------------------------------
13307  ObjectReskin Chem_GLAInfantryAngryMobPistol05 Chem_GLAInfantryAngryMobPistol01
13308  
13309  ;**** ART Parameters ***
13310    Draw = W3DModelDraw DrawTag_01
13311      OkToChangeModelColor = Yes
13312  
13313  
13314  
13315      ; WHILE CARRYING PISTOL
13316      ;---------------------------------------------------------
13317      DefaultConditionState ;Idle with Pistol Holstered
13318        Model = UIMOB05_SKN
13319        IdleAnimation = UIMOB05_SKL.UIMOB05_IDA1 0 12
13320        IdleAnimation = UIMOB05_SKL.UIMOB05_IDA2 0 5
13321        IdleAnimation = UIMOB05_SKL.UIMOB05_CHA  0 5
13322        IdleAnimation = UIMOB05_SKL.UIMOB05_STA  0 5
13323        AnimationMode = ONCE
13324        AnimationSpeedFactorRange 0.9 1.1
13325        TransitionKey = TRANS_STAND_A
13326  
13327        WeaponFireFXBone = PRIMARY Muzzle01
13328        WeaponMuzzleFlash = PRIMARY Muzzle01
13329      End
13330  
13331      ; Drawing pistol
13332      ConditionState  = PREATTACK_A
13333        Animation     = UIMOB05_SKL.UIMOB05_ATA1_ST ; start firing
13334        AnimationMode = ONCE
13335      End
13336      AliasConditionState = PREATTACK_A FIRING_A
13337      AliasConditionState = PREATTACK_A BETWEEN_FIRING_SHOTS_A
13338  
13339      ; Firing pistol
13340      ConditionState = FIRING_A
13341        Animation = UIMOB05_SKL.UIMOB05_ATA1_LP ; looping firing
13342        AnimationMode = LOOP
13343        TransitionKey = TRANS_FIRING_A
13344      End
13345      AliasConditionState  = BETWEEN_FIRING_SHOTS_A
13346      
13347      ConditionState  = RELOADING_A
13348        Animation     = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing
13349        AnimationMode = ONCE
13350      End
13351  
13352      ; This transition allows him to put his gun away when he's finished attacking.
13353      TransitionState = TRANS_FIRING_A TRANS_STAND_A
13354        Animation     = UIMOB05_SKL.UIMOB05_ATA1_ED ; end firing
13355        AnimationMode = ONCE
13356      End
13357  
13358      ConditionState = MOVING
13359        Animation = UIMOB05_SKL.UIMOB05_RNA 
13360        AnimationMode = LOOP
13361        Flags = RANDOMSTART
13362        TransitionKey   = MOVING
13363        ParticleSysBone   = None InfantryDustTrails
13364      End
13365      AliasConditionState = MOVING RELOADING_A
13366      AliasConditionState = MOVING PREATTACK_A
13367      AliasConditionState = MOVING FIRING_A
13368      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
13369      AliasConditionState = MOVING RELOADING_C RELOADING_A 
13370      AliasConditionState = MOVING PREATTACK_C BETWEEN_FIRING_SHOTS_A 
13371  
13372      ConditionState = DYING
13373        Animation = UIMOB05_SKL.UIMOB05_DA1    
13374        Animation = UIMOB05_SKL.UIMOB05_DA2
13375        AnimationMode = ONCE
13376        TransitionKey = TRANS_Dying
13377      End
13378  
13379  
13380      ConditionState = SPECIAL_CHEERING
13381        Animation = UIMOB05_SKL.UIMOB05_CHA
13382        AnimationMode = ONCE
13383      End
13384  
13385      ;--------------------------------------------------------
13386  
13387      ; TRANSITION FROM PISTOL TO AK47
13388      TransitionState = TRANS_STAND_A TRANS_STAND_AK
13389        Animation = UIMOB05_SKL.UIMOB05_TA-D
13390        AnimationMode = ONCE
13391      End
13392  
13393  
13394      ; WHILE CARRYING AK47 
13395      ;---------------------------------------------------------
13396      ConditionState WEAPONSET_PLAYER_UPGRADE ;Idle with AK Slung
13397        Model = UIMOB05_SKN
13398        IdleAnimation = UIMOB05_SKL.UIMOB05_IDD1 0 6
13399        IdleAnimation = UIMOB05_SKL.UIMOB05_IDD2 0 6
13400        IdleAnimation = UIMOB05_SKL.UIMOB05_CHD  0 6
13401        IdleAnimation = UIMOB05_SKL.UIMOB05_STD
13402        AnimationMode = ONCE
13403        AnimationSpeedFactorRange 0.9 1.1
13404        TransitionKey = TRANS_STAND_AK
13405        WeaponFireFXBone = SECONDARY MuzzleAK
13406        WeaponMuzzleFlash = SECONDARY MuzzleAKFX
13407      End
13408  
13409      ConditionState = MOVING WEAPONSET_PLAYER_UPGRADE
13410        Animation = UIMOB05_SKL.UIMOB05_RND 
13411        AnimationMode = LOOP
13412        Flags = RANDOMSTART
13413        TransitionKey   = MOVING_AK
13414      End
13415  
13416      ConditionState = DYING WEAPONSET_PLAYER_UPGRADE
13417        Animation = UIMOB05_SKL.UIMOB05_DD1    
13418        Animation = UIMOB05_SKL.UIMOB05_DD2
13419        AnimationMode = ONCE
13420        TransitionKey = TRANS_Dying
13421      End
13422  
13423      ConditionState = SPECIAL_CHEERING WEAPONSET_PLAYER_UPGRADE
13424        Animation = UIMOB05_SKL.UIMOB05_CHD
13425        AnimationMode = ONCE
13426      End
13427  
13428      ; Drawing AK47
13429      ConditionState  = PREATTACK_B WEAPONSET_PLAYER_UPGRADE
13430        Animation     = UIMOB05_SKL.UIMOB05_ATD1_ST ; start firing
13431        AnimationMode = ONCE
13432      End
13433      AliasConditionState = PREATTACK_B FIRING_B WEAPONSET_PLAYER_UPGRADE
13434      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
13435  
13436      ; Firing Gun
13437      ConditionState = FIRING_B WEAPONSET_PLAYER_UPGRADE
13438        Animation = UIMOB05_SKL.UIMOB05_ATD1_LP ; looping firing
13439        AnimationMode = LOOP
13440        WeaponFireFXBone = PRIMARY MuzzleAK
13441        WeaponMuzzleFlash = PRIMARY MuzzleAKFX
13442        TransitionKey = TRANS_FIRING_AK
13443      End
13444      AliasConditionState  = BETWEEN_FIRING_SHOTS_B WEAPONSET_PLAYER_UPGRADE
13445  
13446  
13447      ConditionState  = RELOADING_B WEAPONSET_PLAYER_UPGRADE
13448        Animation     = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing
13449        AnimationMode = ONCE
13450      End
13451  
13452  
13453      ; This transition allows him to put his gun away when he's finished attacking.
13454      TransitionState = TRANS_FIRING_AK TRANS_STAND_AK
13455        Animation     = UIMOB05_SKL.UIMOB05_ATD1_ED ; end firing
13456        AnimationMode = ONCE
13457      End
13458  
13459  
13460  ;    ;Throwing bottle----------------------------------------------------------------
13461  ;    ConditionState = PREATTACK_C 
13462  ;      Animation     = UIMOB05_SKL.UIMOB05_ATCA_BF ; the wind up
13463  ;    End
13464  ;    AliasConditionState = PREATTACK_C FIRING_A
13465  ;    AliasConditionState = PREATTACK_C RELOADING_A
13466  ;    AliasConditionState = PREATTACK_C BETWEEN_FIRING_SHOTS_A 
13467  ;
13468  ;    ConditionState = FIRING_C 
13469  ;      Animation     = UIMOB05_SKL.UIMOB05_ATCA_AF ; the release and follow-thru
13470  ;      TransitionKey = TRANS_THROW
13471  ;    End
13472  ;    AliasConditionState = FIRING_C BETWEEN_FIRING_SHOTS_A
13473  ;
13474  ;    ConditionState RELOADING_C
13475  ;      Animation =UIMOB05_SKL.UIMOB05_IDA1
13476  ;      WaitForStateToFinishIfPossible = TRANS_THROW ; universal hub for follow-thru
13477  ;    End
13478  ;    AliasConditionState = RELOADING_C RELOADING_A
13479  ;    AliasConditionState = RELOADING_C FIRING_A
13480  ;    AliasConditionState = RELOADING_C BETWEEN_FIRING_SHOTS_A
13481  
13482  
13483  ;    TransitionState = TRANSXXX TRANS_THROW
13484  ;      Animation     = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway gun and take out bottle
13485  ;    End
13486  
13487  ;    TransitionState = TRANS_THROW TRANS_FIRING_A
13488  ;      Animation     = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get PISTOL
13489  ;    End
13490  
13491  ;    TransitionState = TRANSXXXAK TRANS_THROW
13492  ;      Animation     = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway AK and take out bottle
13493  ;    End
13494  
13495  
13496  ;    TransitionState = TRANS_THROW TRANS_FIRING_AK
13497  ;      Animation     = UIMOB05_SKL.UIMOB05_XXXXXXXXputaway bottle and get AK
13498  ;    End
13499  
13500  
13501  
13502  
13503  
13504      ;--------------------------------------------------------
13505  
13506  
13507  
13508  
13509  
13510  
13511      TransitionState = TRANS_Dying TRANS_Flailing
13512        Animation = UIMOB05_SKL.UIMOB05_A_ADTA1
13513        Animation = UIMOB05_SKL.UIMOB05_D_ADTA1
13514        AnimationMode = ONCE
13515      End
13516  
13517      ConditionState = DYING EXPLODED_FLAILING
13518        Animation = UIMOB05_SKL.UIMOB05_A_ADTA2
13519        Animation = UIMOB05_SKL.UIMOB05_D_ADTA2
13520        AnimationMode = LOOP
13521        TransitionKey = TRANS_Flailing
13522      End
13523  
13524      ConditionState = DYING EXPLODED_BOUNCING
13525        Animation = UIMOB05_SKL.UIMOB05_A_ADTA3
13526        Animation = UIMOB05_SKL.UIMOB05_D_ADTA3
13527        AnimationMode = ONCE
13528        TransitionKey = None
13529      End
13530  
13531  
13532    End
13533  
13534  
13535  
13536    Geometry = CYLINDER
13537    GeometryMajorRadius = 3.0 ; very thin
13538    GeometryMinorRadius = 3.0 ; very thinD
13539    GeometryHeight = 12.0
13540    GeometryIsSmall = Yes
13541  
13542  End
13543  
13544  
13545  ;------------------------------------------------------------------------------
13546  ;------------------------------------------------------------------------------
13547  Object Chem_GLAInfantryAngryMobMolotov02
13548  
13549  ;**** ART Parameters ***
13550    Draw = W3DModelDraw ModuleTag_01
13551      OkToChangeModelColor = Yes
13552  
13553      ; WHILE CARRYING ROCK
13554      ;---------------------------------------------------------
13555      DefaultConditionState
13556        Model = UIMOB02_SKN
13557        IdleAnimation = UIMOB02_SKL.UIMOB02_IDB1 0 12
13558        IdleAnimation = UIMOB02_SKL.UIMOB02_IDB2 0 5
13559        IdleAnimation = UIMOB02_SKL.UIMOB02_CHB  0 5
13560        IdleAnimation = UIMOB02_SKL.UIMOB02_STB  0 12
13561        AnimationMode = ONCE
13562        AnimationSpeedFactorRange 0.9 1.1
13563        TransitionKey = TRANS_STAND_B
13564  
13565        WeaponFireFXBone  = SECONDARY   "UIMOB02 R HAND"
13566  
13567      End
13568  
13569  
13570      ; Drawing rock
13571      ConditionState  = PREATTACK_B
13572        Animation     = UIMOB02_SKL.UIMOB02_ATCB_BF ; wind up
13573        AnimationMode = ONCE
13574      End
13575      AliasConditionState = PREATTACK_B FIRING_B
13576      AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B
13577  
13578      ; throwing rock
13579      ConditionState = FIRING_B
13580        Animation = UIMOB02_SKL.UIMOB02_ATCB_AF ; throw
13581        AnimationMode = ONCE
13582        TransitionKey = TRANS_FIRING_B
13583      End
13584  
13585      ConditionState = BETWEEN_FIRING_SHOTS_B
13586        Animation         = UIMOB02_SKL.UIMOB02_STB
13587        AnimationMode     = ONCE
13588        ; this is basically a trick: this guy has a nontrivial animation for firing,
13589        ; and a long recycle time between shots. we want him to finish his fire animation
13590        ; (unless he's ordered to do something else), so this is just a handy trick that
13591        ; says, "if the previous state had this transition key, allow it to finish before
13592        ; switching to us, if possible".
13593        WaitForStateToFinishIfPossible = TRANS_FIRING_B
13594      End
13595      AliasConditionState = RELOADING_B
13596  
13597  
13598      ConditionState = MOVING
13599        Animation = UIMOB02_SKL.UIMOB02_RNB 
13600        AnimationMode = LOOP
13601        Flags = RANDOMSTART
13602        TransitionKey   = MOVING
13603        ParticleSysBone   = None InfantryDustTrails
13604      End
13605  
13606      ConditionState = DYING
13607        Animation = UIMOB02_SKL.UIMOB02_DB1    
13608        Animation = UIMOB02_SKL.UIMOB02_DB2
13609        AnimationMode = ONCE
13610        TransitionKey = TRANS_Dying
13611      End
13612  
13613      ConditionState = SPECIAL_CHEERING
13614        Animation = UIMOB02_SKL.UIMOB02_CHB
13615        Flags = RANDOMSTART
13616        AnimationMode = LOOP
13617      End
13618  
13619  
13620  
13621  
13622  
13623  
13624      TransitionState = TRANS_Dying TRANS_Flailing
13625        Animation = UIMOB02_SKL.UIMOB02_B_ADTA1
13626        Animation = UIMOB02_SKL.UIMOB02_D_ADTA1
13627        AnimationMode = ONCE
13628      End
13629  
13630      ConditionState = DYING EXPLODED_FLAILING
13631        Animation = UIMOB02_SKL.UIMOB02_B_ADTA2
13632        Animation = UIMOB02_SKL.UIMOB02_D_ADTA2
13633        AnimationMode = LOOP
13634        TransitionKey = TRANS_Flailing
13635      End
13636  
13637      ConditionState = DYING EXPLODED_BOUNCING
13638        Animation = UIMOB02_SKL.UIMOB02_B_ADTA3
13639        Animation = UIMOB02_SKL.UIMOB02_D_ADTA3
13640        AnimationMode = ONCE
13641        TransitionKey = None
13642      End
13643  
13644  
13645    End
13646  
13647  
13648  ;**** DESIGN parameters ***
13649  
13650    DisplayName      = OBJECT:AngryMob
13651    Side = GLAToxinGeneral
13652    EditorSorting = INFANTRY
13653    TransportSlotCount = 0                 ;how many "slots" we take in a transport (0 == not transportable)
13654  
13655    WeaponSet
13656      Conditions = None 
13657      Weapon = PRIMARY GLAAngryMobMolotovCocktailProjectileWeapon ; all she does is throw molotovs
13658    End
13659  
13660    ArmorSet
13661      Conditions      = None
13662      Armor           = HumanArmor
13663      DamageFX        = InfantryDamageFX
13664    End
13665  
13666    VisionRange = 150
13667    ShroudClearingRange = 150
13668    Prerequisites
13669      Object = Chem_GLABarracks
13670  
13671    End
13672    BuildCost = 100
13673    BuildTime = 0.0            
13674  
13675    ExperienceValue = 5 5 5 5    ;Experience point value at each level
13676    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
13677    IsTrainable = Yes             ;Can gain experience
13678    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
13679  
13680    ; *** AUDIO Parameters ***
13681    VoiceSelect = NoSound 
13682    VoiceMove = NoSound   
13683    VoiceAttack = NoSound 
13684  
13685  ;**** ENGINEERING Parameters *** ;MOB02
13686    RadarPriority = UNIT
13687    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER IGNORED_IN_GUI  ;NO_COLLIDE ;Lorenzen disables 
13688  
13689    Body = ActiveBody BodyTag_01
13690      MaxHealth       = 50.0
13691      InitialHealth   = 50.0
13692    End
13693  
13694    Behavior = AIUpdateInterface ModuleTag_03
13695      AutoAcquireEnemiesWhenIdle = Yes
13696    End
13697  
13698    Behavior = MobMemberSlavedUpdate ModuleTag_04
13699      MustCatchUpRadius   = 40
13700      NoNeedToCatchUpRadius = 15
13701      Squirrelliness = 0.05
13702      CatchUpCrisisBailTime = 30; this is in calls to this update, not in frames
13703    End
13704  
13705    Locomotor = SET_NORMAL AngryMobNormalLocomotor
13706    Locomotor = SET_WANDER AngryMobWanderLocomotor
13707    Locomotor = SET_PANIC AngryMobPanicLocomotor
13708  
13709    Behavior = PhysicsBehavior ModuleTag_05
13710      Mass = 5.0
13711    End
13712  
13713    Behavior = SquishCollide ModuleTag_08
13714      ;nothing
13715    End
13716  
13717    Behavior = WeaponSetUpgrade UpgradeTag_01
13718      TriggeredBy = Upgrade_GLAArmTheMob
13719    End
13720  
13721  
13722  ; --- begin Death modules ---
13723    Behavior = SlowDeathBehavior ModuleTag_Death01
13724      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
13725      SinkDelay           = 3000
13726      SinkRate            = 0.5     ; in Dist/Sec
13727      DestructionDelay    = 8000
13728      FX                  = INITIAL FX_CivilianArabFemaleDie
13729    End
13730    Behavior = SlowDeathBehavior ModuleTag_Death02
13731      DeathTypes          = NONE +CRUSHED +SPLATTED
13732      SinkDelay           = 3000
13733      SinkRate            = 0.5     ; in Dist/Sec
13734      DestructionDelay    = 8000
13735      FX                  = INITIAL FX_GIDieCrushed
13736    End
13737    Behavior = SlowDeathBehavior ModuleTag_Death03
13738      DeathTypes          = NONE +EXPLODED
13739      SinkDelay           = 3000
13740      SinkRate            = 0.5     ; in Dist/Sec
13741      DestructionDelay    = 8000
13742      FX                  = INITIAL FX_CivilianArabFemaleDie
13743      FlingForce          = 8
13744      FlingForceVariance  = 3
13745      FlingPitch          = 60
13746      FlingPitchVariance  = 10
13747    End
13748    Behavior = SlowDeathBehavior ModuleTag_Death04
13749      DeathTypes          = NONE +BURNED
13750      DestructionDelay    = 0
13751      FX                  = INITIAL FX_GIDie
13752      OCL                 = INITIAL OCL_FlamingInfantry
13753    End
13754    Behavior = SlowDeathBehavior ModuleTag_Death05
13755      DeathTypes          = NONE +POISONED
13756      DestructionDelay    = 0
13757      FX                  = INITIAL FX_DieByToxinGLA
13758      OCL                 = INITIAL OCL_ToxicInfantry
13759    End
13760    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
13761      DeathTypes          = NONE +POISONED_BETA
13762      DestructionDelay    = 0
13763      FX                  = INITIAL FX_DieByToxinGLA
13764      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
13765    End
13766    Behavior = SlowDeathBehavior ModuleTag_Death07
13767      DeathTypes          = NONE +POISONED_GAMMA
13768      DestructionDelay    = 0
13769      FX                  = INITIAL FX_DieByToxinGLA
13770      OCL                 = INITIAL OCL_ToxicInfantryGamma
13771    End
13772  ; --- end Death modules ---
13773  
13774    Behavior = PoisonedBehavior ModuleTag_13
13775      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
13776      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
13777    End
13778   
13779    Geometry = CYLINDER
13780    GeometryMajorRadius = 4.0 ; very thin
13781    GeometryHeight = 12.0
13782    GeometryIsSmall = Yes
13783    Shadow = SHADOW_DECAL
13784    ShadowSizeX = 14;
13785    ShadowSizeY = 14;
13786    ShadowTexture = ShadowI;
13787    BuildCompletion = APPEARS_AT_RALLY_POINT
13788  
13789  End
13790  
13791  ;------------------------------------------------------------------------------
13792  ;------------------------------------------------------------------------------
13793  
13794  
13795  
13796  
13797  
13798  
13799  
13800  
13801  ;------------------------------------------------------------------------------
13802  Object Chem_GLAInfantryWorker
13803  
13804    ; *** ART Parameters ***
13805    SelectPortrait         = SUWorker_L
13806    ButtonImage            = SUWorker
13807    
13808    UpgradeCameo1 = Upgrade_GLAWorkerShoes
13809    ;UpgradeCameo2 = NONE
13810    ;UpgradeCameo3 = NONE
13811    ;UpgradeCameo4 = NONE
13812    ;UpgradeCameo5 = NONE
13813  
13814    Draw = W3DModelDraw ModuleTag_01
13815      OkToChangeModelColor = Yes
13816  
13817      DefaultConditionState
13818        Model         = UIWRKR_SKN
13819        IdleAnimation = UIWRKR_SKL.UIWRKR_STA 0 9
13820        IdleAnimation = UIWRKR_SKL.UIWRKR_IDA
13821        AnimationMode = ONCE
13822        TransitionKey = TRANS_Stand
13823      End
13824  
13825      ConditionState  = MOVING
13826        Animation     = UIWRKR_SKL.UIWRKR_RNA 16
13827        AnimationMode = LOOP
13828        Flags         = RANDOMSTART
13829        TransitionKey = TRANS_Moving
13830        ParticleSysBone = None InfantryDustTrails
13831      End
13832      ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time,
13833      ; since we flip the bit once we get pretty close to the target. but it looks
13834      ; funky to do the construction animation while moving. 
13835      ; so just use the normal move animation in that case.
13836      AliasConditionState = ACTIVELY_CONSTRUCTING MOVING
13837  
13838      ConditionState = ATTACKING
13839        ShowSubObject = MINED_SKIN
13840        Animation = UIWRKR_SKL.UIWRKR_MS
13841        AnimationMode = LOOP
13842        Flags = RANDOMSTART
13843        TransitionKey = TRANS_MetalDetector_Standing
13844      End
13845  
13846      ConditionState = MOVING ATTACKING
13847        ShowSubObject = MINED_SKIN
13848        Animation = UIWRKR_SKL.UIWRKR_MSW 50
13849        AnimationMode = LOOP
13850        Flags = RANDOMSTART
13851        TransitionKey = TRANS_MetalDetector_Moving
13852        ParticleSysBone = None InfantryDustTrails
13853      End
13854      AliasConditionState = MOVING ATTACKING CARRYING
13855  
13856      TransitionState = TRANS_Stand TRANS_MetalDetector_Standing    ;STANDING -> ATTACKING
13857        ShowSubObject = MINED_SKIN
13858        Animation     = UIWRKR_SKL.UIWRKR_TRB1;take out standing
13859        AnimationMode = ONCE
13860      End
13861      TransitionState = TRANS_MetalDetector_Standing TRANS_Stand    ;ATTACKING -> STANDING
13862        ShowSubObject = MINED_SKIN
13863        Animation     = UIWRKR_SKL.UIWRKR_TRB2;put away standing
13864        AnimationMode = ONCE
13865      End
13866  
13867      TransitionState = TRANS_Carry TRANS_MetalDetector_Standing    ;CARRYING -> ATTACKING
13868        ShowSubObject = MINED_SKIN
13869        Animation     = UIWRKR_SKL.UIWRKR_TRB1;take out standing
13870        AnimationMode = ONCE
13871      End
13872      TransitionState = TRANS_MetalDetector_Standing TRANS_Carry    ;ATTACKING -> CARRYING
13873        ShowSubObject = MINED_SKIN
13874        Animation     = UIWRKR_SKL.UIWRKR_TRB2;put away standing
13875        AnimationMode = ONCE
13876      End
13877      TransitionState = TRANS_Carry TRANS_MetalDetector_Moving      ;CARRYING -> MOVING ATTACKING
13878        ShowSubObject = MINED_SKIN
13879        Animation     = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION]
13880        AnimationMode = ONCE
13881        AnimationSpeedFactorRange = 2.0 2.0
13882      End
13883  
13884      TransitionState = TRANS_MetalDetector_Moving TRANS_Stand      ;MOVING ATTACKING -> STANDING
13885        ShowSubObject = MINED_SKIN
13886        Animation     = UIWRKR_SKL.UIWRKR_TRB2;put away moving
13887        AnimationMode = ONCE
13888      End
13889      TransitionState = TRANS_Stand TRANS_MetalDetector_Moving      ;STANDING -> MOVING ATTACKING
13890        ShowSubObject = MINED_SKIN
13891        Animation     = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION]
13892        AnimationMode = ONCE
13893        AnimationSpeedFactorRange = 2.0 2.0
13894      End
13895  
13896      TransitionState = TRANS_Moving TRANS_MetalDetector_Standing   ;MOVING -> ATTACKING [STANDING]
13897        ShowSubObject = MINED_SKIN
13898        Animation     = UIWRKR_SKL.UIWRKR_TRB1;take out standing
13899        AnimationMode = ONCE
13900      End
13901      TransitionState = TRANS_MetalDetector_Standing TRANS_Moving   ;ATTACKING [STANDING] -> MOVING
13902        ShowSubObject = MINED_SKIN
13903        Animation     = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION]
13904        AnimationMode = ONCE
13905        AnimationSpeedFactorRange = 2.0 2.0
13906      End
13907  
13908      TransitionState = TRANS_Moving TRANS_MetalDetector_Moving     ;MOVING -> MOVING ATTACKING
13909        ShowSubObject = MINED_SKIN
13910        Animation     = UIWRKR_SKL.UIWRKR_TRC1;take out moving [NEW NON-SKATING ANIMATION]
13911        AnimationMode = ONCE
13912        AnimationSpeedFactorRange = 2.0 2.0
13913      End
13914      TransitionState = TRANS_MetalDetector_Moving TRANS_Moving     ;MOVING ATTACKING -> MOVING
13915        ShowSubObject = MINED_SKIN
13916        Animation     = UIWRKR_SKL.UIWRKR_TRC2;put away moving [NEW NON-SKATING ANIMATION]
13917        AnimationMode = ONCE
13918        AnimationSpeedFactorRange = 2.0 2.0
13919      End
13920  
13921  
13922      ConditionState = MOVING CARRYING
13923        ShowSubObject = BOX
13924        Animation = UIWRKR_SKL.UIWRKR_CARY 12
13925        AnimationMode = LOOP
13926        Flags = RANDOMSTART
13927        TransitionKey = TRANS_Carry
13928        ParticleSysBone = None InfantryDustTrails
13929      End
13930      ; it is legal to be ACTIVELY_CONSTRUCTING and MOVING at the same time,
13931      ; since we flip the bit once we get pretty close to the target. but it looks
13932      ; funky to do the construction animation while moving. 
13933      ; so just use the normal move animation in that case.
13934      AliasConditionState = ACTIVELY_CONSTRUCTING MOVING CARRYING
13935  
13936      ConditionState = CARRYING
13937        ShowSubObject = BOX
13938        Animation = UIWRKR_SKL.UIWRKR_CARST 30 
13939        AnimationMode = LOOP
13940        Flags = RANDOMSTART
13941        TransitionKey = TRANS_Carry
13942      End
13943  
13944      ConditionState = DYING
13945        Animation = UIWRKR_SKL.UIWRKR_DTA
13946        AnimationMode = ONCE
13947        TransitionKey = TRANS_Dying
13948      End
13949      AliasConditionState = DYING CARRYING
13950  
13951      TransitionState = TRANS_Dying TRANS_Flailing
13952        Animation = UIWRKR_SKL.UIWRKR_ADTE1
13953        AnimationMode = ONCE
13954      End
13955  
13956      ConditionState = DYING EXPLODED_FLAILING
13957        Animation = UIWRKR_SKL.UIWRKR_ADTE2
13958        AnimationMode = LOOP
13959        TransitionKey = TRANS_Flailing
13960      End
13961  
13962      ConditionState = DYING EXPLODED_BOUNCING
13963        Animation = UIWRKR_SKL.UIWRKR_ADTE3
13964        AnimationMode = ONCE
13965        TransitionKey = None
13966      End
13967  
13968      ConditionState  = SPECIAL_CHEERING
13969        Animation     = UIWRKR_SKL.UIWRKR_CHA
13970        AnimationMode = ONCE
13971      End
13972      
13973      ConditionState  = ACTIVELY_CONSTRUCTING
13974        Animation     = UIWRKR_SKL.UIWRKR_BDA
13975        AnimationMode = LOOP
13976        TransitionKey = TRANS_Constructing
13977      End
13978      AliasConditionState = ACTIVELY_CONSTRUCTING CARRYING
13979  
13980      ; --------------------
13981  
13982      TransitionState = TRANS_Stand TRANS_Carry
13983        ShowSubObject = BOX
13984        Animation     = UIWRKR_SKL.UIWRKR_PIK
13985        AnimationMode = ONCE
13986      End
13987  
13988      TransitionState = TRANS_Carry TRANS_Stand
13989        ShowSubObject = BOX
13990        Animation     = UIWRKR_SKL.UIWRKR_PIK
13991        AnimationMode = ONCE_BACKWARDS
13992        Flags         = START_FRAME_LAST
13993      End
13994      
13995      TransitionState = TRANS_Stand TRANS_Constructing
13996        Animation     = UIWRKR_SKL.UIWRKR_TRA1
13997        AnimationMode = ONCE
13998      End
13999  
14000      TransitionState = TRANS_Constructing TRANS_Stand
14001        Animation     = UIWRKR_SKL.UIWRKR_TRA2
14002        AnimationMode = ONCE
14003      End
14004    End
14005  
14006    ; ***DESIGN parameters ***
14007    DisplayName = OBJECT:Worker
14008    Side = GLAToxinGeneral
14009    EditorSorting = INFANTRY
14010    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
14011  
14012  
14013    WeaponSet
14014      Conditions = None 
14015      Weapon = PRIMARY None
14016    End
14017    WeaponSet
14018      Conditions = MINE_CLEARING_DETAIL 
14019      Weapon = PRIMARY WorkerMineDisarmingWeapon
14020    End
14021  
14022  
14023    ArmorSet
14024      Conditions      = None
14025      Armor           = HumanArmor
14026      DamageFX        = InfantryDamageFX
14027    End
14028    VisionRange = 100
14029    ShroudClearingRange = 200
14030   ;Prerequisites
14031   ;  Object = Chem_GLABarracks GLASupplyStash ;commented out, or else you can't build from Con Yard as Dozer.
14032   ;End
14033    BuildCost = 200
14034    BuildTime = 3.0          ;in seconds    
14035    CrushableLevel         = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
14036    CommandSet = Chem_GLAWorkerCommandSet
14037  
14038    ; *** AUDIO Parameters ***
14039    VoiceSelect = WorkerVoiceSelect
14040    VoiceMove = WorkerVoiceMove
14041    VoiceAttack = WorkerVoiceMove
14042    VoiceGuard = WorkerVoiceMove
14043    VoiceFear = WorkerVoiceFear
14044    VoiceTaskComplete = WorkerVoiceBuildComplete
14045    UnitSpecificSounds
14046      VoiceEnter        = WorkerVoiceMoveUpgraded
14047      VoiceEnterHostile = WorkerVoiceMoveUpgraded
14048      VoiceGarrison     = WorkerVoiceGarrison
14049      VoiceCreate       = WorkerVoiceCreate
14050      VoiceSupply       = WorkerVoiceSupply
14051      VoiceNoBuild      = WorkerVoiceBuildNot
14052      VoiceRepair       = WorkerVoiceRepair
14053      VoiceDisarm       = WorkerVoiceClearMine
14054      VoiceBuildResponse = WorkerVoiceBuild
14055      VoiceGetHealed    = WorkerVoiceMoveUpgraded
14056      VoiceMoveUpgraded = WorkerVoiceMoveUpgraded
14057    End
14058  
14059    ; *** ENGINEERING Parameters ***
14060    RadarPriority = UNIT
14061    KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SALVAGER DOZER HARVESTER SCORE
14062  
14063    Body = ActiveBody ModuleTag_02
14064      MaxHealth       = 100.0
14065      InitialHealth   = 100.0
14066    End
14067  
14068    Behavior = WorkerAIUpdate ModuleTag_03
14069      RepairHealthPercentPerSecond  = 2%    ; % of max health to repair each second
14070      BoredTime                     = 5000  ; in milliseconds
14071      BoredRange                    = 150   ; when bored, we look this far away to do something 
14072      MaxBoxes                      = 1
14073      UpgradedSupplyBoost           = 8 ; gives this much more cash for every box collected
14074      SupplyCenterActionDelay       = 150 ;400 ; ms for whole thing (one transaction)
14075      SupplyWarehouseActionDelay    = 150 ;400 ;ms per box (many small transactions)
14076      SupplyWarehouseScanDistance   = 700 ;350 ; Max distance to look for a warehouse, or we go home.  (Direct dock command on warehouse overrides, and no max on Center Scan)
14077      SuppliesDepletedVoice = WorkerVoiceSuppliesDepleted
14078      ; the only "enemies" that workers can acquire are mines, to be disarmed...
14079      AutoAcquireEnemiesWhenIdle    = Yes
14080    End
14081    Locomotor = SET_NORMAL FastHumanLocomotor
14082    Locomotor = SET_NORMAL_UPGRADED WorkerShoesLocomotor
14083    Behavior = PhysicsBehavior ModuleTag_04
14084      Mass = 5.0
14085    End
14086   
14087    Behavior = SquishCollide ModuleTag_06
14088      ;nothing
14089    End
14090    Behavior = LocomotorSetUpgrade ModuleTag_07
14091      TriggeredBy = Upgrade_GLAWorkerShoes
14092    End
14093  
14094  ; --- begin Death modules ---
14095    Behavior = SlowDeathBehavior ModuleTag_Death01
14096      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
14097      SinkDelay           = 3000
14098      SinkRate            = 0.5     ; in Dist/Sec
14099      DestructionDelay    = 8000
14100      FX                  = INITIAL FX_WorkerDie
14101    End
14102    Behavior = SlowDeathBehavior ModuleTag_Death02
14103      DeathTypes          = NONE +CRUSHED +SPLATTED
14104      SinkDelay           = 3000
14105      SinkRate            = 0.5     ; in Dist/Sec
14106      DestructionDelay    = 8000
14107      FX                  = INITIAL FX_GIDieCrushed
14108    End
14109    Behavior = SlowDeathBehavior ModuleTag_Death03
14110      DeathTypes          = NONE +EXPLODED
14111      SinkDelay           = 3000
14112      SinkRate            = 0.5     ; in Dist/Sec
14113      DestructionDelay    = 8000
14114      FX                  = INITIAL FX_WorkerDie
14115      FlingForce          = 8
14116      FlingForceVariance  = 3
14117      FlingPitch          = 60
14118      FlingPitchVariance  = 10
14119    End
14120    Behavior = SlowDeathBehavior ModuleTag_Death04
14121      DeathTypes          = NONE +BURNED
14122      DestructionDelay    = 0
14123      FX                  = INITIAL FX_DieByFireGLA
14124      OCL                 = INITIAL OCL_FlamingInfantry
14125    End
14126    Behavior = SlowDeathBehavior ModuleTag_Death05
14127      DeathTypes          = NONE +POISONED
14128      DestructionDelay    = 0
14129      FX                  = INITIAL FX_DieByToxinGLA
14130      OCL                 = INITIAL OCL_ToxicInfantry
14131    End
14132    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
14133      DeathTypes          = NONE +POISONED_BETA
14134      DestructionDelay    = 0
14135      FX                  = INITIAL FX_DieByToxinGLA
14136      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
14137    End
14138  
14139    Behavior = SlowDeathBehavior ModuleTag_Death07
14140      DeathTypes          = NONE +POISONED_GAMMA
14141      DestructionDelay    = 0
14142      FX                  = INITIAL FX_DieByToxinGLA
14143      OCL                 = INITIAL OCL_ToxicInfantryGamma
14144    End
14145  
14146  ; --- end Death modules ---
14147  
14148    Behavior = StealthDetectorUpdate ModuleTag_12
14149      DetectionRate         = 500   ; how often to rescan for stealthed things in my sight (msec)
14150      ;DetectionRange       = ??? ;Dustin, enable this for independant balancing!
14151      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
14152      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
14153      ExtraRequiredKindOf   = MINE  ; we can only detect MINES, not other stealthed things
14154    End
14155  
14156    Behavior = PoisonedBehavior ModuleTag_13
14157      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
14158      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
14159    End
14160  
14161    Behavior = CommandSetUpgrade ModuleTag_14
14162      TriggeredBy = Upgrade_GLAWorkerFakeCommandSet
14163      RemovesUpgrades = Upgrade_GLAWorkerRealCommandSet
14164      CommandSet = Chem_GLAWorkerFakeBuildingsCommandSet
14165    End
14166   
14167    Behavior = CommandSetUpgrade ModuleTag_15
14168      TriggeredBy = Upgrade_GLAWorkerRealCommandSet
14169      RemovesUpgrades = Upgrade_GLAWorkerFakeCommandSet Upgrade_GLAWorkerRealCommandSet
14170      CommandSet = Chem_GLAWorkerCommandSet
14171    End
14172   
14173    Behavior = ProductionUpdate ModuleTag_16
14174      MaxQueueEntries = 1; For the command set switching upgrade
14175    End
14176  
14177    Geometry = CYLINDER
14178    GeometryMajorRadius = 10.0
14179    GeometryMinorRadius = 10.0
14180    GeometryHeight = 12.0
14181    GeometryIsSmall = Yes
14182    Shadow = SHADOW_DECAL
14183    ShadowSizeX = 14;
14184    ShadowSizeY = 14;
14185    ShadowTexture = ShadowI;
14186    BuildCompletion = APPEARS_AT_RALLY_POINT
14187  
14188  End
14189  
14190  
14191  
14192  
14193  
14194  
14195  
14196  
14197  
14198  
14199  
14200  
14201  
14202  
14203  
14204  
14205  
14206  
14207  
14208  
14209  
14210  
14211  
14212  
14213  
14214  
14215  
14216  
14217  
14218  
14219  
14220  ;------------------------------------------------------------------------------
14221  Object Chem_GLATankScorpion
14222  
14223    ; *** ART Parameters ***
14224    SelectPortrait         = SUScorpion_L
14225    ButtonImage            = SUScorpion
14226    
14227    UpgradeCameo1 = Upgrade_GLAScorpionRocket
14228    UpgradeCameo2 = Upgrade_GLAAPRockets
14229    UpgradeCameo3 = Upgrade_GLAToxinShells
14230    UpgradeCameo4 = Upgrade_GLAJunkRepair
14231    ;UpgradeCameo5 = NONE
14232    
14233    Draw = W3DTankDraw ModuleTag_01
14234      OkToChangeModelColor = Yes
14235  
14236      ProjectileBoneFeedbackEnabledSlots = SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
14237   
14238  ; ------------ Normal  
14239      DefaultConditionState
14240        Model = UVLiteTank
14241        Turret = Turret ; Logic twist bone is always this, both turrets are subobjects of it, as are both missile racks
14242        ; note, order-dependent: we must hide/show Missile AFTER we hide/show MissileRack!
14243        ShowSubObject = Turret01
14244        HideSubObject = MissleRack01 MissleRack02 TurretUP01; MissileRack misspelled in the Art
14245        WeaponFireFXBone = PRIMARY Muzzle
14246        WeaponRecoilBone = PRIMARY Barrel
14247        WeaponMuzzleFlash = PRIMARY MuzzleFX
14248        WeaponLaunchBone = PRIMARY Muzzle
14249      End
14250  
14251      ConditionState = REALLYDAMAGED
14252        Model = UVLiteTank_d
14253      End
14254      AliasConditionState = RUBBLE
14255      
14256  ; ------------ With big turret  
14257      ConditionState = WEAPONSET_CRATEUPGRADE_ONE ; one or two crates is a turret switch
14258        ShowSubObject = TurretUP01
14259        HideSubObject = MissleRack01 MissleRack02 Turret01   ; MissileRack misspelled in the Art
14260      End
14261      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO
14262  
14263      ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED
14264        Model = UVLiteTank_d
14265        ShowSubObject = TurretUP01
14266        HideSubObject = MissleRack01 MissleRack02 Turret01   ; MissileRack misspelled in the Art
14267      End
14268      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED
14269  
14270  ; ---------- With missile
14271      ConditionState = WEAPONSET_PLAYER_UPGRADE
14272        ShowSubObject = MissleRack01 Turret01
14273        HideSubObject = MissleRack02 TurretUP01; MissileRack misspelled in the Art
14274        WeaponFireFXBone = SECONDARY WeaponA
14275        WeaponLaunchBone = SECONDARY WeaponA
14276      End
14277  
14278      ConditionState = WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
14279        Model = UVLiteTank_d
14280        ShowSubObject = MissleRack01 Turret01
14281        HideSubObject = MissleRack02 TurretUP01; MissileRack misspelled in the Art
14282        WeaponFireFXBone = SECONDARY WeaponA
14283        WeaponLaunchBone = SECONDARY WeaponA
14284      End
14285  
14286  ; ---------- With missile and big turret
14287      ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE
14288        ShowSubObject = MissleRack01 TurretUP01
14289        HideSubObject = MissleRack02 Turret01; MissileRack misspelled in the Art
14290        WeaponFireFXBone = SECONDARY WeaponA
14291        WeaponLaunchBone = SECONDARY WeaponA
14292      End
14293  
14294      ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED
14295        Model = UVLiteTank_d
14296        ShowSubObject = MissleRack01 TurretUP01
14297        HideSubObject = MissleRack02 Turret01; MissileRack misspelled in the Art
14298        WeaponFireFXBone = SECONDARY WeaponA
14299        WeaponLaunchBone = SECONDARY WeaponA
14300      End
14301  
14302  ; ---------- With two missiles and big turret
14303      ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO
14304        ShowSubObject = MissleRack01 MissleRack02 TurretUP01
14305        HideSubObject = Turret01; MissileRack misspelled in the Art
14306        WeaponFireFXBone = SECONDARY WeaponA
14307        WeaponLaunchBone = SECONDARY WeaponA
14308      End
14309  
14310      ConditionState = WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED
14311        Model = UVLiteTank_d
14312        ShowSubObject = MissleRack01 MissleRack02 TurretUP01
14313        HideSubObject = Turret01; MissileRack misspelled in the Art
14314        WeaponFireFXBone = SECONDARY WeaponA
14315        WeaponLaunchBone = SECONDARY WeaponA
14316      End
14317  
14318      TrackMarks = EXTnkTrack.tga
14319      TreadAnimationRate      = 2.0  ; amount of tread texture to move per second
14320    End
14321  
14322    ; ***DESIGN parameters ***
14323    DisplayName           = OBJECT:Scorpion
14324    Side                  = GLAToxinGeneral
14325    EditorSorting         = VEHICLE
14326    TransportSlotCount    = 3                 ;how many "slots" we take in a transport (0 == not transportable)
14327  
14328    WeaponSet
14329      Conditions = None 
14330      Weapon = PRIMARY ScorpionTankGun
14331      Weapon = SECONDARY None
14332    End
14333    WeaponSet
14334      Conditions = PLAYER_UPGRADE 
14335      Weapon = PRIMARY ScorpionTankGun
14336      Weapon = SECONDARY Chem_ScorpionMissileWeapon
14337    End
14338    WeaponSet
14339      Conditions = CRATEUPGRADE_ONE 
14340      Weapon = PRIMARY ScorpionTankGunPlusOne
14341      Weapon = SECONDARY None
14342    End
14343    WeaponSet
14344      Conditions = CRATEUPGRADE_ONE PLAYER_UPGRADE 
14345      Weapon = PRIMARY ScorpionTankGunPlusOne
14346      Weapon = SECONDARY Chem_ScorpionMissileWeapon ; No bonus at Plus One
14347    End
14348    WeaponSet
14349      Conditions = CRATEUPGRADE_TWO 
14350      Weapon = PRIMARY ScorpionTankGunPlusOne ; No further bonus at plus two
14351      Weapon = SECONDARY None
14352    End
14353    WeaponSet
14354      Conditions = CRATEUPGRADE_TWO PLAYER_UPGRADE 
14355      Weapon = PRIMARY ScorpionTankGunPlusOne ; No further bonus at plus two
14356      Weapon = SECONDARY Chem_ScorpionMissileWeaponPlusTwo
14357    End
14358  
14359    ArmorSet
14360      Conditions      = None
14361      Armor           = TankArmor
14362      DamageFX        = TankDamageFX
14363    End
14364    BuildCost       = 650
14365    BuildTime       = 7.0          ;in seconds    
14366    VisionRange     = 125
14367    ShroudClearingRange = 300
14368    Prerequisites
14369      Object = Chem_GLAArmsDealer
14370    End
14371  
14372    ExperienceValue = 60 60 120 200    ;Experience point value at each level
14373    ExperienceRequired = 0 100 200 400  ;Experience points needed to gain each level
14374    IsTrainable = Yes             ;Can gain experience
14375    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
14376    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
14377    CommandSet      = GLATankScorpionCommandSet
14378  
14379    ; *** AUDIO Parameters ***
14380    VoiceSelect = ScorpionTankVoiceSelect
14381    VoiceMove = ScorpionTankVoiceMove
14382    VoiceAttack = ScorpionTankVoiceAttack
14383    SoundMoveStart = ScorpionTankMoveStart
14384    SoundMoveStartDamaged = ScorpionTankMoveStart
14385    VoiceGuard = ScorpionTankVoiceMove
14386  
14387    UnitSpecificSounds
14388      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
14389      VoiceCreate          = ScorpionTankVoiceCreate
14390      ;TurretMoveStart = NoSound
14391      TurretMoveLoop = TurretMoveLoop
14392      VoiceEnter = ScorpionTankVoiceMove
14393    End
14394  
14395    ; *** ENGINEERING Parameters ***
14396    RadarPriority = UNIT
14397    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE
14398  
14399    Body = ActiveBody ModuleTag_02
14400      MaxHealth       = 370.0
14401      InitialHealth   = 370.0
14402  
14403      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
14404      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
14405      SubdualDamageCap = 740
14406      SubdualDamageHealRate = 500
14407      SubdualDamageHealAmount = 50
14408    End
14409  
14410    Behavior = AIUpdateInterface ModuleTag_03
14411      Turret
14412        TurretTurnRate = 100
14413        RecenterTime = 5000   ; how long to wait during idle before recentering
14414        ControlledWeaponSlots = PRIMARY SECONDARY
14415      End
14416      AutoAcquireEnemiesWhenIdle = Yes
14417    End
14418    Locomotor = SET_NORMAL ScorpionLocomotor
14419    Behavior = PhysicsBehavior ModuleTag_04
14420      Mass = 50.0
14421    End
14422    Behavior = AutoHealBehavior ModuleTag_05
14423      HealingAmount = 2
14424      HealingDelay = 1000 ; msec
14425      TriggeredBy = Upgrade_GLAJunkRepair
14426    End
14427  
14428    ; Catch fire, and explode death
14429    Behavior = SlowDeathBehavior ModuleTag_06
14430      DeathTypes = ALL -CRUSHED -SPLATTED
14431      ProbabilityModifier = 50
14432      DestructionDelay = 2000
14433      DestructionDelayVariance = 300
14434      FX  = INITIAL  FX_CrusaderCatchFire
14435      OCL = FINAL    OCL_ScorpionTankDeathEffect
14436      FX  = FINAL    FX_BattleMasterExplosionOneFinal
14437    End
14438  
14439    Behavior = WeaponSetUpgrade ModuleTag_07
14440      TriggeredBy = Upgrade_GLAScorpionRocket
14441    End
14442  
14443    Behavior = DestroyDie ModuleTag_09
14444      DeathTypes = NONE +CRUSHED +SPLATTED
14445    End
14446  
14447    ; A crushing defeat
14448    Behavior = FXListDie ModuleTag_10
14449      DeathTypes = NONE +CRUSHED +SPLATTED
14450      DeathFX = FX_CarCrush
14451    End
14452    Behavior = CreateObjectDie ModuleTag_11
14453      DeathTypes = NONE +CRUSHED +SPLATTED
14454      CreationList = OCL_CrusaderTank_CrushEffect
14455    End
14456    Behavior = CreateCrateDie ModuleTag_12
14457      CrateData = SalvageCrateData
14458      ;CrateData = EliteTankCrateData
14459      ;CrateData = HeroicTankCrateData
14460    End
14461    
14462    Behavior                 = TransitionDamageFX ModuleTag_13
14463      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
14464      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
14465    End
14466  
14467    Behavior = FlammableUpdate ModuleTag_21
14468      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
14469      AflameDamageAmount = 3       ; taking this much damage...
14470      AflameDamageDelay = 500       ; this often.
14471    End
14472  
14473  ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames.
14474  ;  Behavior = GrantUpgradeCreate ModuleTag_22
14475  ;    UpgradeToGrant     = Upgrade_GLAToxinShells
14476  ;  End
14477  ;
14478  ;  Behavior = GrantUpgradeCreate ModuleTag_23
14479  ;    UpgradeToGrant = Upgrade_GLAAnthraxBeta
14480  ;  End
14481  
14482    Geometry = BOX
14483    GeometryMajorRadius = 14.0
14484    GeometryMinorRadius = 9.0
14485    GeometryHeight = 10.5    
14486    GeometryIsSmall = Yes 
14487    Shadow = SHADOW_VOLUME   
14488    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
14489  
14490  End
14491  
14492  ;------------------------------------------------------------------------------
14493  ;GLA Rocket Buggy
14494  Object Chem_GLAVehicleRocketBuggy
14495  
14496    ; *** ART Parameters ***
14497    SelectPortrait         = SURocketBuggy_L
14498    ButtonImage            = SURocketBuggy
14499    
14500    UpgradeCameo1 = Upgrade_GLABuggyAmmo
14501    UpgradeCameo2 = Upgrade_GLAAPRockets
14502    UpgradeCameo3 = Upgrade_GLAJunkRepair
14503    ;UpgradeCameo4 = NONE
14504    ;UpgradeCameo5 = NONE
14505    
14506    Draw = W3DTruckDraw ModuleTag_01
14507      OkToChangeModelColor = Yes
14508  
14509      DefaultConditionState
14510        Model = UVRockBug
14511        Turret = Turret
14512        ShowSubObject = Turret
14513        HideSubObject = TurretUp01 
14514        WeaponFireFXBone = PRIMARY WeaponA
14515        WeaponLaunchBone = PRIMARY WeaponA
14516      End
14517      
14518      ConditionState = REALLYDAMAGED
14519        Model = UVRockBug_D
14520        Turret = Turret
14521        ShowSubObject = Turret
14522        HideSubObject = TurretUp01 
14523        WeaponFireFXBone = PRIMARY WeaponA
14524        WeaponLaunchBone = PRIMARY WeaponA
14525      End
14526      
14527      ConditionState = RUBBLE
14528        Model = UVRockBug_D
14529        Turret = Turret
14530        ShowSubObject = Turret
14531        HideSubObject = TurretUp01 
14532        WeaponFireFXBone = PRIMARY WeaponA
14533        WeaponLaunchBone = PRIMARY WeaponA
14534      End
14535  
14536      ConditionState =   WEAPONSET_PLAYER_UPGRADE
14537        Model = UVRockBug
14538        Turret = TurretUp01
14539        ShowSubObject = TurretUp01 
14540        HideSubObject = Turret
14541        WeaponFireFXBone = PRIMARY WeaponB
14542        WeaponLaunchBone = PRIMARY WeaponB
14543      End
14544      
14545      ConditionState =   WEAPONSET_PLAYER_UPGRADE REALLYDAMAGED
14546        Model = UVRockBug_D
14547        Turret = TurretUp01
14548        ShowSubObject = TurretUp01 
14549        HideSubObject = Turret
14550        WeaponFireFXBone = PRIMARY WeaponB
14551        WeaponLaunchBone = PRIMARY WeaponB
14552      End
14553      
14554      ConditionState =   WEAPONSET_PLAYER_UPGRADE RUBBLE
14555        Model = UVRockBug_D
14556        Turret = TurretUp01
14557        ShowSubObject = TurretUp01 
14558        HideSubObject = Turret
14559        WeaponFireFXBone = PRIMARY WeaponB
14560        WeaponLaunchBone = PRIMARY WeaponB
14561      End
14562  
14563      TrackMarks = EXTireTrack.tga
14564  
14565      Dust                        = RocketBuggyDust
14566      DirtSpray                   = RocketBuggyDirtSpray
14567      PowerslideSpray             = RocketBuggyDirtPowerSlide
14568  
14569      ; These parameters are only used if the model has a separate suspension, 
14570      ; and the locomotor has HasSuspension = Yes.
14571      LeftFrontTireBone           = Tire01
14572      RightFrontTireBone          = Tire02
14573      LeftRearTireBone            = Tire03
14574      RightRearTireBone           = Tire04
14575      TireRotationMultiplier      = 0.2   ; this * speed = rotation.
14576      PowerslideRotationAddition  = 2.5   ; This speed is added to the rotation speed when powersliding.
14577  
14578    End
14579  
14580    ; ***DESIGN parameters ***
14581    DisplayName         = OBJECT:RocketBuggy
14582    Side                = GLAToxinGeneral
14583    EditorSorting       = VEHICLE
14584    TransportSlotCount  = 3                 ;how many "slots" we take in a transport (0 == not transportable)
14585    WeaponSet
14586      Conditions = None 
14587      Weapon = PRIMARY BuggyRocketWeapon
14588    End
14589    WeaponSet
14590      Conditions = PLAYER_UPGRADE 
14591      Weapon = PRIMARY BuggyRocketWeaponUpgraded
14592    End
14593    ArmorSet
14594      Conditions      = None
14595      Armor           = TruckArmor
14596      DamageFX        = TankDamageFX
14597    End
14598    BuildCost       = 1100
14599    BuildTime       = 10.0          ;in seconds    
14600    VisionRange     = 180
14601    ShroudClearingRange = 300
14602    Prerequisites
14603      Object = Chem_GLAArmsDealer
14604      Object = Chem_GLAPalace
14605    End
14606  
14607    ExperienceValue       = 50 50 100 150    ;Experience point value at each level
14608    ExperienceRequired    = 0 200 400 800  ;Experience points needed to gain each level
14609    IsTrainable           = Yes             ;Can gain experience
14610    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
14611    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
14612    CommandSet            = GLAVehicleRocketBuggyCommandSet
14613  
14614    ; *** AUDIO Parameters ***
14615    VoiceSelect = RocketBuggyVoiceSelect
14616    VoiceMove = RocketBuggyVoiceMove
14617    VoiceAttack = RocketBuggyVoiceAttack
14618    SoundMoveStart = RocketBuggyMoveStart
14619    SoundMoveStartDamaged = RocketBuggyMoveStart
14620    VoiceGuard = RocketBuggyVoiceMove
14621  
14622  
14623    UnitSpecificSounds
14624      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
14625      VoiceCreate          = RocketBuggyVoiceCreate
14626      TurretMoveStart = NoSound
14627      TurretMoveLoop = TurretMoveLoop  
14628    ; Required for the W3DTruckDraw module
14629      TruckLandingSound = RocketBuggyLand
14630      TruckPowerslideSound = RocketBuggyPowerslide
14631      VoiceCrush      = RocketBuggyVoiceCrush
14632      VoiceEnter = RocketBuggyVoiceMove
14633    End
14634  
14635    ; *** ENGINEERING Parameters ***
14636    RadarPriority = UNIT
14637    KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE
14638  
14639    Body = ActiveBody ModuleTag_02
14640      MaxHealth       = 120
14641      InitialHealth   = 120
14642  
14643      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
14644      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
14645      SubdualDamageCap = 240
14646      SubdualDamageHealRate = 500
14647      SubdualDamageHealAmount = 50
14648    End
14649    Behavior = AIUpdateInterface ModuleTag_03
14650      Turret
14651        TurretTurnRate = 90
14652        ControlledWeaponSlots = PRIMARY
14653      End
14654      AutoAcquireEnemiesWhenIdle = Yes
14655    End
14656    Locomotor = SET_NORMAL RocketBuggyLocomotor
14657    Behavior = PhysicsBehavior ModuleTag_04
14658      Mass = 50.0
14659    End
14660  
14661  ; The pop up AirDeath 
14662    Behavior = SlowDeathBehavior ModuleTag_05
14663      DeathTypes = ALL -CRUSHED -SPLATTED
14664      ProbabilityModifier = 5
14665      ModifierBonusPerOverkillPercent = 20%  ; negative means less likely to pick this in the face of much damage, positive means more likely
14666      DestructionDelay = 0
14667      FX = INITIAL FX_BuggyNewDeathExplosion
14668      OCL = FINAL OCL_RocketBuggyAirDeathStart
14669    End
14670  
14671    Behavior = AutoHealBehavior ModuleTag_08
14672      HealingAmount = 2
14673      HealingDelay = 1000 ; msec
14674      TriggeredBy = Upgrade_GLAJunkRepair
14675    End
14676  
14677    Behavior = WeaponSetUpgrade ModuleTag_09
14678      TriggeredBy = Upgrade_GLABuggyAmmo
14679    End
14680  
14681  ;  Behavior = WeaponSetUpgrade ModuleTag_09
14682  ;    TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma
14683  ;  End
14684  
14685    Behavior = DestroyDie ModuleTag_11
14686      DeathTypes = NONE +CRUSHED +SPLATTED
14687    End
14688  
14689    ; A crushing defeat
14690    Behavior = FXListDie ModuleTag_12
14691      DeathTypes = NONE +CRUSHED +SPLATTED
14692      DeathFX = FX_CarCrush
14693    End
14694    Behavior = CreateObjectDie ModuleTag_13
14695      DeathTypes = NONE +CRUSHED +SPLATTED
14696      CreationList = OCL_RocketBuggy_CrushEffect
14697    End
14698    Behavior = CreateCrateDie ModuleTag_14
14699      CrateData = SalvageCrateData
14700      ;CrateData = EliteTankCrateData
14701      ;CrateData = HeroicTankCrateData
14702    End
14703  
14704   
14705    Behavior                 = TransitionDamageFX ModuleTag_15
14706      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
14707      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
14708    End
14709  
14710    Behavior = FlammableUpdate ModuleTag_21
14711      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
14712      AflameDamageAmount = 3       ; taking this much damage...
14713      AflameDamageDelay = 500       ; this often.
14714    End
14715  
14716  ;  Behavior = GrantUpgradeCreate ModuleTag_22
14717  ;    UpgradeToGrant     = RocketBuggyToxinUpgrade
14718  ;  End
14719  
14720  ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames.
14721  ;  Behavior = GrantUpgradeCreate ModuleTag_23
14722  ;    UpgradeToGrant = Upgrade_GLAAnthraxBeta
14723  ;  End
14724  
14725    Geometry = BOX
14726    GeometryMajorRadius = 13.0
14727    GeometryMinorRadius = 9.0
14728    GeometryHeight = 7.5     
14729    GeometryIsSmall = Yes    
14730  
14731    Shadow = SHADOW_VOLUME
14732    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
14733  
14734  End
14735  
14736  
14737  
14738  
14739  
14740  ;------------------------------------------------------------------------------
14741  ;GLA Combat Bike
14742  Object Chem_GLAVehicleCombatBike
14743  
14744    ; *** ART Parameters ***
14745    SelectPortrait         = SUComBike_L
14746    ButtonImage            = SUComBike
14747    
14748    UpgradeCameo1 = Upgrade_GLAJunkRepair
14749    ;UpgradeCameo2 = NONE
14750    ;UpgradeCameo3 = NONE
14751    ;UpgradeCameo4 = NONE
14752    ;UpgradeCameo5 = NONE
14753  
14754    
14755    Draw = W3DTruckDraw ModuleTag_01
14756      OkToChangeModelColor = Yes
14757  
14758      ;Normal Bike
14759      ;------------------------------
14760      DefaultConditionState
14761        Model = UVComBike
14762        WeaponFireFXBone    = PRIMARY Muzzle_B
14763        WeaponLaunchBone    = PRIMARY RocketFX03
14764        WeaponMuzzleFlash   = PRIMARY MuzzleFX_B
14765        ParticleSysBone     = SMOKE CombatBikeSmokeLight
14766  
14767        HideSubObject = BOMBBIKE ; Hide from all states except terrorist (rider 5)
14768  
14769  
14770      End
14771      AliasConditionState RIDER1
14772      AliasConditionState RIDER1 MOVING
14773      AliasConditionState RIDER6
14774      AliasConditionState RIDER6 MOVING
14775      AliasConditionState RIDER7
14776      AliasConditionState RIDER7 MOVING
14777      ConditionState = REALLYDAMAGED
14778        Model = UVComBike_d
14779      End
14780      AliasConditionState RIDER1 REALLYDAMAGED
14781      AliasConditionState RIDER1 MOVING REALLYDAMAGED
14782      AliasConditionState RIDER6 REALLYDAMAGED
14783      AliasConditionState RIDER6 MOVING REALLYDAMAGED
14784      AliasConditionState RIDER7 REALLYDAMAGED
14785      AliasConditionState RIDER7 MOVING REALLYDAMAGED
14786    
14787      ConditionState = TOPPLED
14788        Model = UVComBike_F
14789        Animation           = UVComBike_F.UVComBike_F
14790        AnimationMode       = ONCE
14791      End
14792      ConditionState = TOPPLED REALLYDAMAGED
14793        Model = UVComBike_dF
14794        Animation           = UVComBike_DF.UVComBike_DF
14795        AnimationMode       = ONCE
14796      End
14797  
14798      ConditionState = RIDER1 MOVING CENTER_TO_LEFT
14799        Model = UVComBike_A1
14800        Animation           = UVComBike_A1.UVComBike_A1
14801        AnimationMode       = ONCE
14802        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14803      End
14804      AliasConditionState RIDER6 MOVING CENTER_TO_LEFT
14805      AliasConditionState RIDER7 MOVING CENTER_TO_LEFT
14806      ConditionState = RIDER1 MOVING CENTER_TO_LEFT REALLYDAMAGED
14807        Model = UVComBike_A1d
14808        Animation           = UVComBike_A1D.UVComBike_A1D
14809        AnimationMode       = ONCE
14810        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14811      End
14812      AliasConditionState RIDER6 MOVING CENTER_TO_LEFT REALLYDAMAGED
14813      AliasConditionState RIDER7 MOVING CENTER_TO_LEFT REALLYDAMAGED
14814  
14815      ConditionState = RIDER1 MOVING LEFT_TO_CENTER
14816        Model = UVComBike_A1
14817        Animation           = UVComBike_A1.UVComBike_A1
14818        AnimationMode       = ONCE_BACKWARDS
14819        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14820      End
14821      AliasConditionState RIDER6 MOVING LEFT_TO_CENTER
14822      AliasConditionState RIDER7 MOVING LEFT_TO_CENTER
14823      ConditionState = RIDER1 MOVING LEFT_TO_CENTER REALLYDAMAGED
14824        Model = UVComBike_A1d
14825        Animation           = UVComBike_A1D.UVComBike_A1D
14826        AnimationMode       = ONCE_BACKWARDS
14827        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14828      End
14829      AliasConditionState RIDER6 MOVING LEFT_TO_CENTER REALLYDAMAGED
14830      AliasConditionState RIDER7 MOVING LEFT_TO_CENTER REALLYDAMAGED
14831  
14832      ConditionState = RIDER1 MOVING CENTER_TO_RIGHT
14833        Model = UVComBike_A2
14834        Animation           = UVComBike_A2.UVComBike_A2
14835        AnimationMode       = ONCE
14836        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14837      End
14838      AliasConditionState  RIDER6 MOVING CENTER_TO_RIGHT
14839      AliasConditionState  RIDER7 MOVING CENTER_TO_RIGHT
14840      ConditionState = RIDER1 MOVING CENTER_TO_RIGHT REALLYDAMAGED
14841        Model = UVComBike_A2d
14842        Animation           = UVComBike_A2D.UVComBike_A2D
14843        AnimationMode       = ONCE
14844        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14845      End
14846      AliasConditionState  RIDER6 MOVING CENTER_TO_RIGHT REALLYDAMAGED
14847      AliasConditionState  RIDER7 MOVING CENTER_TO_RIGHT REALLYDAMAGED
14848  
14849      ConditionState = RIDER1 MOVING RIGHT_TO_CENTER
14850        Model = UVComBike_A2
14851        Animation           = UVComBike_A2.UVComBike_A2
14852        AnimationMode       = ONCE_BACKWARDS
14853        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14854      End
14855      AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER
14856      AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER
14857      ConditionState = RIDER1 MOVING RIGHT_TO_CENTER REALLYDAMAGED
14858        Model = UVComBike_A2d
14859        Animation           = UVComBike_A2D.UVComBike_A2D
14860        AnimationMode       = ONCE_BACKWARDS
14861        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14862      End
14863      AliasConditionState RIDER6 MOVING RIGHT_TO_CENTER REALLYDAMAGED
14864      AliasConditionState RIDER7 MOVING RIGHT_TO_CENTER REALLYDAMAGED
14865  
14866  
14867  
14868  
14869  
14870  
14871      ;Terror Bike
14872      ;------------------------------
14873      ConditionState  RIDER5
14874        Model = UVComBike
14875        WeaponFireFXBone    = PRIMARY Muzzle_B
14876        WeaponLaunchBone    = PRIMARY RocketFX03
14877        WeaponMuzzleFlash   = PRIMARY MuzzleFX_B
14878        ParticleSysBone     = SMOKE CombatBikeSmokeLight
14879        ShowSubObject = BOMBBIKE
14880      End
14881      AliasConditionState RIDER5 MOVING
14882  
14883      ConditionState = REALLYDAMAGED RIDER5
14884        Model = UVComBike_d
14885        ShowSubObject = BOMBBIKE
14886      End
14887      AliasConditionState RIDER5 MOVING REALLYDAMAGED
14888    
14889      ConditionState = TOPPLED RIDER5
14890        Model = UVComBike_F
14891        Animation           = UVComBike_F.UVComBike_F
14892        AnimationMode       = ONCE
14893        ShowSubObject = BOMBBIKE
14894      End
14895      ConditionState = TOPPLED REALLYDAMAGED RIDER5
14896        Model = UVComBike_dF
14897        Animation           = UVComBike_DF.UVComBike_DF
14898        AnimationMode       = ONCE
14899        ShowSubObject = BOMBBIKE
14900      End
14901  
14902      ConditionState = RIDER5 MOVING CENTER_TO_LEFT
14903        Model = UVComBike_A1
14904        Animation           = UVComBike_A1.UVComBike_A1
14905        AnimationMode       = ONCE
14906        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14907        ShowSubObject = BOMBBIKE
14908      End
14909  
14910      ConditionState = RIDER5 MOVING CENTER_TO_LEFT REALLYDAMAGED
14911        Model = UVComBike_A1d
14912        Animation           = UVComBike_A1D.UVComBike_A1D
14913        AnimationMode       = ONCE
14914        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14915        ShowSubObject = BOMBBIKE
14916      End
14917  
14918      ConditionState = RIDER5 MOVING LEFT_TO_CENTER
14919        Model = UVComBike_A1
14920        Animation           = UVComBike_A1.UVComBike_A1
14921        AnimationMode       = ONCE_BACKWARDS
14922        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14923        ShowSubObject = BOMBBIKE
14924      End
14925  
14926      ConditionState = RIDER5 MOVING LEFT_TO_CENTER REALLYDAMAGED
14927        Model = UVComBike_A1d
14928        Animation           = UVComBike_A1D.UVComBike_A1D
14929        AnimationMode       = ONCE_BACKWARDS
14930        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14931        ShowSubObject = BOMBBIKE
14932      End
14933  
14934      ConditionState = RIDER5 MOVING CENTER_TO_RIGHT
14935        Model = UVComBike_A2
14936        Animation           = UVComBike_A2.UVComBike_A2
14937        AnimationMode       = ONCE
14938        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14939        ShowSubObject = BOMBBIKE
14940      End
14941  
14942      ConditionState = RIDER5 MOVING CENTER_TO_RIGHT REALLYDAMAGED
14943        Model = UVComBike_A2d
14944        Animation           = UVComBike_A2D.UVComBike_A2D
14945        AnimationMode       = ONCE
14946        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14947        ShowSubObject = BOMBBIKE
14948      End
14949  
14950      ConditionState = RIDER5 MOVING RIGHT_TO_CENTER
14951        Model = UVComBike_A2
14952        Animation           = UVComBike_A2.UVComBike_A2
14953        AnimationMode       = ONCE_BACKWARDS
14954        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14955        ShowSubObject = BOMBBIKE
14956      End
14957  
14958      ConditionState = RIDER5 MOVING RIGHT_TO_CENTER REALLYDAMAGED
14959        Model = UVComBike_A2d
14960        Animation           = UVComBike_A2D.UVComBike_A2D
14961        AnimationMode       = ONCE_BACKWARDS
14962        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14963        ShowSubObject = BOMBBIKE
14964      End
14965  
14966  
14967  
14968  
14969      ;Gun Bike
14970      ;------------------------------
14971      ConditionState = RIDER2
14972        Model = UVComBikeG
14973      End
14974      AliasConditionState RIDER2 MOVING
14975      AliasConditionState RIDER4
14976      AliasConditionState RIDER4 MOVING
14977      ConditionState = RIDER2 REALLYDAMAGED
14978        Model = UVComBikeG_d
14979      End
14980      AliasConditionState RIDER2 MOVING REALLYDAMAGED
14981      AliasConditionState RIDER4 REALLYDAMAGED
14982      AliasConditionState RIDER4 MOVING REALLYDAMAGED
14983     
14984      ConditionState = RIDER2 MOVING CENTER_TO_LEFT
14985        Model = UVComBikeG
14986        Animation           = UVComBikeG_A1.UVComBikeG_A1
14987        AnimationMode       = ONCE
14988        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14989      End
14990      AliasConditionState RIDER4 MOVING CENTER_TO_LEFT
14991      ConditionState = RIDER2 MOVING CENTER_TO_LEFT REALLYDAMAGED
14992        Model = UVComBikeG_d
14993        Animation           = UVComBikeG_A1.UVComBikeG_A1
14994        AnimationMode       = ONCE
14995        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
14996      End
14997      AliasConditionState RIDER4 MOVING CENTER_TO_LEFT REALLYDAMAGED
14998  
14999      ConditionState = RIDER2 MOVING LEFT_TO_CENTER
15000        Model = UVComBikeG
15001        Animation           = UVComBikeG_A1.UVComBikeG_A1
15002        AnimationMode       = ONCE_BACKWARDS
15003        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15004      End
15005      AliasConditionState RIDER4 MOVING LEFT_TO_CENTER
15006      ConditionState = RIDER2 MOVING LEFT_TO_CENTER REALLYDAMAGED
15007        Model = UVComBikeG_d
15008        Animation           = UVComBikeG_A1.UVComBikeG_A1
15009        AnimationMode       = ONCE_BACKWARDS
15010        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15011      End
15012      AliasConditionState RIDER4 MOVING LEFT_TO_CENTER REALLYDAMAGED
15013  
15014      ConditionState = RIDER2 MOVING CENTER_TO_RIGHT
15015        Model = UVComBikeG
15016        Animation           = UVComBikeG_A2.UVComBikeG_A2
15017        AnimationMode       = ONCE
15018        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15019      End
15020      AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT
15021      ConditionState = RIDER2 MOVING CENTER_TO_RIGHT REALLYDAMAGED
15022        Model = UVComBikeG_d
15023        Animation           = UVComBikeG_A2.UVComBikeG_A2
15024        AnimationMode       = ONCE
15025        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15026      End
15027      AliasConditionState RIDER4 MOVING CENTER_TO_RIGHT REALLYDAMAGED
15028  
15029      ConditionState = RIDER2 MOVING RIGHT_TO_CENTER
15030        Model = UVComBikeG
15031        Animation           = UVComBikeG_A2.UVComBikeG_A2
15032        AnimationMode       = ONCE_BACKWARDS
15033        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15034      End
15035      AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER
15036      ConditionState = RIDER2 MOVING RIGHT_TO_CENTER REALLYDAMAGED
15037        Model = UVComBikeG_d
15038        Animation           = UVComBikeG_A2.UVComBikeG_A2
15039        AnimationMode       = ONCE_BACKWARDS
15040        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15041      End
15042      AliasConditionState RIDER4 MOVING RIGHT_TO_CENTER REALLYDAMAGED
15043  
15044      ;Missile Bike
15045      ;------------------------------
15046      ConditionState = RIDER3
15047        Model = UVComBikeTN
15048      End
15049      AliasConditionState RIDER3 MOVING
15050      ConditionState = RIDER3 REALLYDAMAGED
15051        Model = UVComBikeTN_d
15052      End
15053      AliasConditionState RIDER3 MOVING REALLYDAMAGED
15054    
15055      ConditionState = RIDER3 MOVING CENTER_TO_LEFT
15056        Model = UVComBikeTN_A1
15057        Animation           = UVComBikeTN_A1.UVComBikeTN_A1
15058        AnimationMode       = ONCE
15059        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15060      End
15061      ConditionState = RIDER3 MOVING CENTER_TO_LEFT REALLYDAMAGED
15062        Model = UVComBikeTN_A1d
15063        Animation           = UVComBikeTN_A1D.UVComBikeTN_A1D
15064        AnimationMode       = ONCE
15065        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15066      End
15067  
15068      ConditionState = RIDER3 MOVING LEFT_TO_CENTER
15069        Model = UVComBikeTN_A1
15070        Animation           = UVComBikeTN_A1.UVComBikeTN_A1
15071        AnimationMode       = ONCE_BACKWARDS
15072        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15073      End
15074      ConditionState = RIDER3 MOVING LEFT_TO_CENTER REALLYDAMAGED
15075        Model = UVComBikeTN_A1d
15076        Animation           = UVComBikeTN_A1D.UVComBikeTN_A1D
15077        AnimationMode       = ONCE_BACKWARDS
15078        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15079      End
15080  
15081      ConditionState = RIDER3 MOVING CENTER_TO_RIGHT
15082        Model = UVComBikeTN_A2
15083        Animation           = UVComBikeTN_A2D.UVComBikeTN_A2D
15084        AnimationMode       = ONCE
15085        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15086      End
15087      ConditionState = RIDER3 MOVING CENTER_TO_RIGHT REALLYDAMAGED
15088        Model = UVComBikeTN_A2d
15089        Animation           = UVComBikeTN_A2D.UVComBikeTN_A2D
15090        AnimationMode       = ONCE
15091        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15092      End
15093  
15094      ConditionState = RIDER3 MOVING RIGHT_TO_CENTER
15095        Model = UVComBikeTN_A2
15096        Animation           = UVComBikeTN_A2.UVComBikeTN_A2
15097        AnimationMode       = ONCE_BACKWARDS
15098        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15099      End
15100      ConditionState = RIDER3 MOVING RIGHT_TO_CENTER REALLYDAMAGED
15101        Model = UVComBikeTN_A2d
15102        Animation           = UVComBikeTN_A2D.UVComBikeTN_A2D
15103        AnimationMode       = ONCE_BACKWARDS
15104        ParticleSysBone     = SMOKE CombatBikeSmokeHeavy
15105      End
15106  
15107      TrackMarks = EXTireTrack03.tga
15108  
15109      Dust                        = CombatBikeDust
15110      DirtSpray                   = CombatBikeDirtSpray
15111      PowerslideSpray             = CombatBikeDirtPowerSlide
15112  
15113      ; These parameters are only used if the model has a separate suspension, 
15114      ; and the locomotor has HasSuspension = Yes.
15115      LeftFrontTireBone           = Tire01
15116      LeftRearTireBone            = Tire00
15117      TireRotationMultiplier      = 0.2   ; this * speed = rotation.
15118      PowerslideRotationAddition  = 2.5   ; This speed is added to the rotation speed when powersliding.
15119  
15120    End
15121  
15122    Draw = W3DModelDraw ModuleTag_Rider01
15123      OkToChangeModelColor = Yes
15124  
15125      DefaultConditionState
15126        ;**************************************************
15127        ;*** Must have a default model in order to see
15128        ;*** house color!!!
15129        ;**************************************************
15130        Model = UIWrkr_SKN
15131        ;WeaponFireFXBone    = PRIMARY Muzzle
15132        ;WeaponLaunchBone    = PRIMARY Muzzle
15133        WeaponMuzzleFlash   = PRIMARY MuzzleFX
15134      End
15135      AliasConditionState MOVING
15136  
15137      ;Worker animations
15138      ;-----------------------
15139      ConditionState = RIDER1 
15140        Model = UIWrkr_SKN
15141        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A5
15142        AnimationMode = LOOP
15143      End
15144      ConditionState = RIDER1 MOVING
15145        Model = UIWrkr_SKN
15146        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A4
15147        AnimationMode = LOOP
15148      End
15149      ConditionState = RIDER1 MOVING CENTER_TO_LEFT
15150        Model = UIWrkr_SKN
15151        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A1
15152        AnimationMode       = ONCE
15153      End
15154      ConditionState = RIDER1 MOVING LEFT_TO_CENTER
15155        Model = UIWrkr_SKN
15156        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A1
15157        AnimationMode       = ONCE_BACKWARDS
15158      End
15159      ConditionState = RIDER1 MOVING CENTER_TO_RIGHT
15160        Model = UIWrkr_SKN
15161        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A2
15162        AnimationMode       = ONCE
15163      End
15164      ConditionState = RIDER1 MOVING RIGHT_TO_CENTER
15165        Model = UIWrkr_SKN
15166        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A2
15167        AnimationMode       = ONCE_BACKWARDS
15168      End
15169  
15170  
15171      ;Rebel animations
15172      ;-----------------------
15173      ConditionState = RIDER2 
15174        Model = UIRGrd_SKN
15175        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A5
15176        AnimationMode = LOOP
15177      End
15178      ConditionState = RIDER2 MOVING
15179        Model = UIRGrd_SKN
15180        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A4
15181        AnimationMode = LOOP
15182      End
15183      ConditionState = RIDER2 MOVING CENTER_TO_LEFT
15184        Model = UIRGrd_SKN
15185        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A1
15186        AnimationMode       = ONCE
15187      End
15188      ConditionState = RIDER2 MOVING LEFT_TO_CENTER
15189        Model = UIRGrd_SKN
15190        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A1
15191        AnimationMode       = ONCE_BACKWARDS
15192      End
15193      ConditionState = RIDER2 MOVING CENTER_TO_RIGHT
15194        Model = UIRGrd_SKN
15195        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A2
15196        AnimationMode       = ONCE
15197      End
15198      ConditionState = RIDER2 MOVING RIGHT_TO_CENTER
15199        Model = UIRGrd_SKN
15200        Animation           = UIRGrd_SKL.UIRGrd_CmBk_A2
15201        AnimationMode       = ONCE_BACKWARDS
15202      End
15203  
15204      ;RPG Trooper animations
15205      ;-----------------------
15206      ConditionState = RIDER3 
15207        Model = UITunF_SKN2
15208        Animation           = UITunF_SKL.UITunF_CmBk_A5
15209        AnimationMode = LOOP
15210      End
15211      ConditionState = RIDER3 MOVING
15212        Model = UITunF_SKN2
15213        Animation           = UITunF_SKL.UITunF_CmBk_A4
15214        AnimationMode = LOOP
15215      End
15216      ConditionState = RIDER3 MOVING CENTER_TO_LEFT
15217        Model = UITunF_SKN2
15218        Animation           = UITunF_SKL.UITunF_CmBk_A1
15219        AnimationMode       = ONCE
15220      End
15221      ConditionState = RIDER3 MOVING LEFT_TO_CENTER
15222        Model = UITunF_SKN2
15223        Animation           = UITunF_SKL.UITunF_CmBk_A1
15224        AnimationMode       = ONCE_BACKWARDS
15225      End
15226      ConditionState = RIDER3 MOVING CENTER_TO_RIGHT
15227        Model = UITunF_SKN2
15228        Animation           = UITunF_SKL.UITunF_CmBk_A2
15229        AnimationMode       = ONCE
15230      End
15231      ConditionState = RIDER3 MOVING RIGHT_TO_CENTER
15232        Model = UITunF_SKN2
15233        Animation           = UITunF_SKL.UITunF_CmBk_A2
15234        AnimationMode       = ONCE_BACKWARDS
15235      End
15236  
15237      ;Jarmen Kell animations
15238      ;-----------------------
15239      ConditionState = RIDER4 
15240        Model = UIHERO_SKN
15241        Animation           = UIHERO_SKL.UIHERO_CmBk_A5
15242        AnimationMode = LOOP
15243      End
15244      ConditionState = RIDER4 MOVING
15245        Model = UIHERO_SKN
15246        Animation           = UIHERO_SKL.UIHERO_CmBk_A4
15247        AnimationMode = LOOP
15248      End
15249      ConditionState = RIDER4 MOVING CENTER_TO_LEFT
15250        Model = UIHERO_SKN
15251        Animation           = UIHERO_SKL.UIHERO_CmBk_A1
15252        AnimationMode       = ONCE
15253      End
15254      ConditionState = RIDER4 MOVING LEFT_TO_CENTER
15255        Model = UIHERO_SKN
15256        Animation           = UIHERO_SKL.UIHERO_CmBk_A1
15257        AnimationMode       = ONCE_BACKWARDS
15258      End
15259      ConditionState = RIDER4 MOVING CENTER_TO_RIGHT
15260        Model = UIHERO_SKN
15261        Animation           = UIHERO_SKL.UIHERO_CmBk_A2
15262        AnimationMode       = ONCE
15263      End
15264      ConditionState = RIDER4 MOVING RIGHT_TO_CENTER
15265        Model = UIHERO_SKN
15266        Animation           = UIHERO_SKL.UIHERO_CmBk_A2
15267        AnimationMode       = ONCE_BACKWARDS
15268      End
15269  
15270      ;Terrorist animations
15271      ;-----------------------
15272      ConditionState = RIDER5 
15273        Model = UITer_Local_SKN
15274        Animation           = UITer_Local_SKL.UITER_Local_A5
15275        AnimationMode = LOOP
15276      End
15277      ConditionState = RIDER5 MOVING
15278        Model = UITer_Local_SKN
15279        Animation           = UITer_Local_SKL.UITER_Local_A4
15280        AnimationMode = LOOP
15281      End
15282      ConditionState = RIDER5 MOVING CENTER_TO_LEFT
15283        Model = UITer_Local_SKN
15284        Animation           = UITer_Local_SKL.UITER_Local_A1
15285        AnimationMode       = ONCE
15286      End
15287      ConditionState = RIDER5 MOVING LEFT_TO_CENTER
15288        Model = UITer_Local_SKN
15289        Animation           = UITer_Local_SKL.UITER_Local_A1
15290        AnimationMode       = ONCE_BACKWARDS
15291      End
15292      ConditionState = RIDER5 MOVING CENTER_TO_RIGHT
15293        Model = UITer_Local_SKN
15294        Animation           = UITer_Local_SKL.UITER_Local_A2
15295        AnimationMode       = ONCE
15296      End
15297      ConditionState = RIDER5 MOVING RIGHT_TO_CENTER
15298        Model = UITer_Local_SKN
15299        Animation           = UITer_Local_SKL.UITER_Local_A2
15300        AnimationMode       = ONCE_BACKWARDS
15301      End
15302  
15303      ;Hijacker animations
15304      ;-----------------------
15305      ConditionState = RIDER6 
15306        Model = UIHJCK_SKN
15307        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A5
15308        AnimationMode = LOOP
15309      End
15310      ConditionState = RIDER6 MOVING
15311        Model = UIHJCK_SKN
15312        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A4
15313        AnimationMode = LOOP
15314      End
15315      ConditionState = RIDER6 MOVING CENTER_TO_LEFT
15316        Model = UIHJCK_SKN
15317        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A1
15318        AnimationMode       = ONCE
15319      End
15320      ConditionState = RIDER6 MOVING LEFT_TO_CENTER
15321        Model = UIHJCK_SKN
15322        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A1
15323        AnimationMode       = ONCE_BACKWARDS
15324      End
15325      ConditionState = RIDER6 MOVING CENTER_TO_RIGHT
15326        Model = UIHJCK_SKN
15327        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A2
15328        AnimationMode       = ONCE
15329      End
15330      ConditionState = RIDER6 MOVING RIGHT_TO_CENTER
15331        Model = UIHJCK_SKN
15332        Animation           = UIHJCK_SKL.UIHJACK_CmBk_A2
15333        AnimationMode       = ONCE_BACKWARDS
15334      End
15335  
15336      ;Saboteur animations
15337      ;-----------------------
15338      ConditionState = RIDER7 
15339        Model = UISabotr_SKN
15340        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A5
15341        AnimationMode = LOOP
15342      End
15343      ConditionState = RIDER7 MOVING
15344        Model = UISabotr_SKN
15345        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A4
15346        AnimationMode = LOOP
15347      End
15348      ConditionState = RIDER7 MOVING CENTER_TO_LEFT
15349        Model = UISabotr_SKN
15350        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A1
15351        AnimationMode       = ONCE
15352      End
15353      ConditionState = RIDER7 MOVING LEFT_TO_CENTER
15354        Model = UISabotr_SKN
15355        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A1
15356        AnimationMode       = ONCE_BACKWARDS
15357      End
15358      ConditionState = RIDER7 MOVING CENTER_TO_RIGHT
15359        Model = UISabotr_SKN
15360        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A2
15361        AnimationMode       = ONCE
15362      End
15363      ConditionState = RIDER7 MOVING RIGHT_TO_CENTER
15364        Model = UISabotr_SKN
15365        Animation           = UIWrkr_SKL.UIWrkr_CmBk_A2
15366        AnimationMode       = ONCE_BACKWARDS
15367      End
15368  
15369      ConditionState = TOPPLED
15370        Model = None
15371      End
15372      AliasConditionState TOPPLED MOVING
15373  
15374    End
15375  
15376    ; ***DESIGN parameters ***
15377    DisplayName         = OBJECT:CombatBike
15378    Side                = GLAToxinGeneral
15379    EditorSorting       = VEHICLE
15380    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
15381    WeaponSet
15382      Conditions = None
15383      Weapon = PRIMARY NONE
15384    End
15385    WeaponSet
15386      Conditions = WEAPON_RIDER2
15387      Weapon = PRIMARY GLARebelBikerMachineGun
15388    End
15389    WeaponSet
15390      Conditions = WEAPON_RIDER3
15391      Weapon = PRIMARY Chem_TunnelDefenderBikerRocketWeapon
15392    End
15393    WeaponSet
15394      Conditions = WEAPON_RIDER3 PLAYER_UPGRADE
15395      Weapon = PRIMARY Chem_TunnelDefenderBikerRocketWeaponGamma
15396    End
15397    WeaponSet
15398      Conditions = WEAPON_RIDER4
15399      Weapon = PRIMARY GLABikerKellSniperRifle
15400      Weapon = SECONDARY GLAJarmenKellVehiclePilotSniperRifle
15401      AutoChooseSources = SECONDARY NONE
15402    End
15403    WeaponSet
15404      ;Kill himself so we can use FireWeaponWhenDead to fire the real weapon -- and use UNRESISTABLE
15405      ;damage to do ini logic for type of death to play -- unresistable for success.
15406      Conditions = WEAPON_RIDER5
15407      Weapon = PRIMARY TerroristSuicideWeapon 
15408    End
15409    ArmorSet
15410      Conditions      = None
15411      Armor           = TruckArmor
15412      DamageFX        = TankDamageFX
15413    End
15414    BuildCost       = 550
15415    BuildTime       = 4.0          ;in seconds    
15416    VisionRange     = 180
15417    ShroudClearingRange = 300
15418    Prerequisites
15419      Object = Chem_GLAArmsDealer
15420    End
15421  
15422    ExperienceValue       = 50 50 100 150    ;Experience point value at each level
15423    ExperienceRequired    = 0 200 400 800  ;Experience points needed to gain each level
15424    IsTrainable           = Yes             ;Can gain experience
15425    ;CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
15426    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
15427    ;CommandSet            = Chem_GLAVehicleCombatBikeCommandSet ****COMMANDSET is overwritten in RiderChangeContain!
15428  
15429    ; *** AUDIO Parameters ***
15430    VoiceSelect = CombatCycleVoiceSelect
15431    VoiceMove = CombatCycleVoiceMove
15432    VoiceAttack = CombatCycleVoiceAttack
15433    SoundMoveStart = CombatBikeMoveStart
15434    SoundMoveStartDamaged = CombatBikeMoveStart
15435    VoiceGuard = CombatCycleVoiceMove
15436    SoundEnter = CombatCycleSwitchRider
15437  
15438    UnitSpecificSounds
15439      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
15440      VoiceCreate          = CombatCycleVoiceCreate
15441      TurretMoveStart = NoSound
15442      TurretMoveLoop = TurretMoveLoop  
15443    ; Required for the W3DTruckDraw module
15444      TruckLandingSound = RocketBuggyLand
15445      TruckPowerslideSound = CombatBikeMoveStart
15446      VoiceCrush      = CombatCycleVoiceMove
15447      VoiceEnter = CombatCycleVoiceMove
15448    End
15449  
15450  
15451    ; *** ENGINEERING Parameters ***
15452    RadarPriority = UNIT
15453    KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE CLIFF_JUMPER
15454  
15455    Body = ActiveBody ModuleTag_02
15456      MaxHealth       = 100
15457      InitialHealth   = 100
15458  
15459      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
15460      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
15461      SubdualDamageCap = 200
15462      SubdualDamageHealRate = 500
15463      SubdualDamageHealAmount = 50
15464    End
15465    Behavior = AIUpdateInterface ModuleTag_03
15466      Turret
15467        TurretTurnRate = 0       ; turn rate, in degrees per sec
15468        NaturalTurretAngle = 0
15469        ControlledWeaponSlots = PRIMARY SECONDARY
15470      End
15471      AutoAcquireEnemiesWhenIdle = No
15472    End
15473    Locomotor = SET_NORMAL CombatBikeGroundLocomotor CombatBikeCliffLocomotor
15474    Locomotor = SET_SLUGGISH CombatBikeTerroristGroundLocomotor CombatBikeTerroristCliffLocomotor
15475    Behavior = PhysicsBehavior ModuleTag_04
15476      Mass = 15.0
15477    End
15478  
15479    Behavior = SlowDeathBehavior DeathTag_04
15480      ExemptStatus = STATUS_RIDER1 STATUS_RIDER2 STATUS_RIDER3 STATUS_RIDER4 STATUS_RIDER5 STATUS_RIDER6 STATUS_RIDER7
15481      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
15482      DestructionDelay = 0
15483      FX = INITIAL FX_BuggyNewDeathExplosion
15484      OCL = FINAL OCL_CombatBikeAirDeathStart
15485    End
15486    Behavior = SlowDeathBehavior DeathTag_05
15487      RequiredStatus = STATUS_RIDER1
15488      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
15489      DestructionDelay = 0
15490      FX = INITIAL FX_BuggyNewDeathExplosion
15491      OCL = INITIAL OCL_WorkerFlyingOffBikeDeathStart
15492      OCL = FINAL OCL_CombatBikeAirDeathStart
15493    End
15494    Behavior = SlowDeathBehavior DeathTag_06
15495      RequiredStatus = STATUS_RIDER2
15496      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
15497      DestructionDelay = 0
15498      FX = INITIAL FX_BuggyNewDeathExplosion
15499      OCL = INITIAL OCL_RebelFlyingOffBikeDeathStart
15500      OCL = FINAL OCL_CombatBikeAirDeathStart
15501    End
15502    Behavior = SlowDeathBehavior DeathTag_07
15503      RequiredStatus = STATUS_RIDER3
15504      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
15505      DestructionDelay = 0
15506      FX = INITIAL FX_BuggyNewDeathExplosion
15507      OCL = INITIAL OCL_TunnelDefenderFlyingOffBikeDeathStart
15508      OCL = FINAL OCL_CombatBikeAirDeathStart
15509    End
15510    Behavior = SlowDeathBehavior DeathTag_08
15511      RequiredStatus = STATUS_RIDER4
15512      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
15513      DestructionDelay = 0
15514      FX = INITIAL FX_BuggyNewDeathExplosion
15515      OCL = INITIAL OCL_JarmenKellFlyingOffBikeDeathStart
15516      OCL = FINAL OCL_CombatBikeAirDeathStart
15517    End
15518    Behavior = SlowDeathBehavior DeathTag_09
15519      RequiredStatus = STATUS_RIDER5
15520      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
15521      DestructionDelay = 0
15522      FX = INITIAL FX_BuggyNewDeathExplosion
15523      OCL = INITIAL OCL_TerroristFlyingOffBikeDeathStart
15524      OCL = FINAL OCL_CombatBikeAirDeathStart
15525    End
15526    Behavior = SlowDeathBehavior DeathTag_10
15527      RequiredStatus = STATUS_RIDER6
15528      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
15529      DestructionDelay = 0
15530      FX = INITIAL FX_BuggyNewDeathExplosion
15531      OCL = INITIAL OCL_HijackerFlyingOffBikeDeathStart
15532      OCL = FINAL OCL_CombatBikeAirDeathStart
15533    End
15534    Behavior = SlowDeathBehavior DeathTag_11
15535      RequiredStatus = STATUS_RIDER7
15536      DeathTypes = ALL -CRUSHED -SPLATTED -TOPPLED
15537      DestructionDelay = 0
15538      FX = INITIAL FX_BuggyNewDeathExplosion
15539      OCL = INITIAL OCL_SaboteurFlyingOffBikeDeathStart
15540      OCL = FINAL OCL_CombatBikeAirDeathStart
15541    End
15542  
15543    Behavior = AutoHealBehavior ModuleTag_08
15544      HealingAmount = 2
15545      HealingDelay = 1000 ; msec
15546      TriggeredBy = Upgrade_GLAJunkRepair
15547    End
15548  
15549    Behavior = WeaponSetUpgrade ModuleTag_09
15550      TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma
15551    End
15552  
15553    ;Create the hulk after the toppling is complete (not killed until topple anim finished).
15554    Behavior = CreateObjectDie ModuleTag_10
15555      DeathTypes = NONE +TOPPLED
15556      CreationList = OCL_CombatBike_ToppledHulk
15557    End
15558  
15559    Behavior = DestroyDie ModuleTag_11
15560      DeathTypes = NONE +CRUSHED +SPLATTED +TOPPLED
15561    End
15562  
15563    ; A crushing defeat
15564    Behavior = FXListDie ModuleTag_12
15565      DeathTypes = NONE +CRUSHED +SPLATTED
15566      DeathFX = FX_CarCrush
15567    End
15568    Behavior = CreateObjectDie ModuleTag_13
15569      DeathTypes = NONE +CRUSHED +SPLATTED
15570      CreationList = OCL_RocketBuggy_CrushEffect
15571    End
15572    Behavior = CreateCrateDie ModuleTag_14
15573      CrateData = SalvageCrateData
15574      ;CrateData = EliteTankCrateData
15575      ;CrateData = HeroicTankCrateData
15576    End
15577  
15578    Behavior                 = TransitionDamageFX ModuleTag_15
15579      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
15580      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
15581    End
15582  
15583    Behavior = RiderChangeContain ModuleTag_16
15584      ;A list of each valid rider that is allowed to ride this object. Each rider is
15585      ;assigned a modelcondition state, a weaponset flag, an object status bit, and
15586      ;a commandset override. The actual object is hidden inside the container so the 
15587      ;visible rider is fluff. Also riders are deleted (not killed) when the bike is
15588      ;destroyed, so all deaths must be OCLs on the bike.
15589      Rider1 = Chem_GLAInfantryWorker         RIDER1 WEAPON_RIDER1 STATUS_RIDER1 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
15590      Rider2 = Chem_GLAInfantryRebel          RIDER2 WEAPON_RIDER2 STATUS_RIDER2 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
15591      Rider3 = Chem_GLAInfantryTunnelDefender RIDER3 WEAPON_RIDER3 STATUS_RIDER3 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
15592      Rider4 = Chem_GLAInfantryJarmenKell     RIDER4 WEAPON_RIDER4 STATUS_RIDER4 GLAVehicleCombatBikeJarmenKellCommandSet SET_NORMAL
15593      Rider5 = Chem_GLAInfantryTerrorist      RIDER5 WEAPON_RIDER5 STATUS_RIDER5 GLAVehicleCombatBikeDefaultCommandSet SET_SLUGGISH
15594      Rider6 = GLAInfantryHijacker       RIDER6 WEAPON_RIDER6 STATUS_RIDER6 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
15595      Rider7 = GLAInfantrySaboteur       RIDER7 WEAPON_RIDER7 STATUS_RIDER7 GLAVehicleCombatBikeDefaultCommandSet SET_NORMAL
15596      ScuttleDelay          = 1500
15597      ScuttleStatus         = TOPPLED
15598  
15599      ;Standard TransportContain stuff
15600      Slots                 = 1
15601      InitialPayload        = Chem_GLAInfantryRebel 1
15602      ScatterNearbyOnExit   = No
15603      HealthRegen%PerSec    = 0
15604      DamagePercentToUnits  = 100%  ; This module will Delete the rider on death, but we need to kill him as well so he doesn't pick up the bike's salvage crate.
15605      BurnedDeathToUnits    = No    ; And no Burned death.
15606      AllowInsideKindOf     = INFANTRY
15607      ExitDelay         = 250
15608      NumberOfExitPaths = 1 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
15609      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
15610    End
15611  
15612    Behavior = AnimationSteeringUpdate ModuleTag_17
15613      MinTransitionTime = 300
15614    End
15615  
15616  ;  Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death18
15617  ;    RequiredStatus  = STATUS_RIDER5
15618  ;    DeathWeapon     = SuicideBikeBomb
15619  ;    StartsActive    = Yes
15620  ;    DeathTypes      = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED
15621  ;  End
15622    
15623    ; I have just pulled my ripcord, and this ain't no parachute!
15624    Behavior = FireWeaponWhenDeadBehavior ModuleTag_Death04
15625      RequiredStatus  = STATUS_RIDER5
15626      DeathWeapon   = SuicideDynamitePack
15627      StartsActive  = Yes                      ; turned on by upgrade
15628      DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED
15629    End
15630  
15631    Behavior = FireWeaponWhenDeadBehavior ModuleTag91
15632      RequiredStatus  = STATUS_RIDER5
15633      DeathWeapon   = Chem_SuicideWeaponGamma
15634      StartsActive  = No
15635      TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma
15636      RequiresAllTriggers = Yes; 
15637      DeathTypes = NONE +SUICIDED +CRUSHED +SPLATTED +LASERED +BURNED +EXPLODED
15638    End;
15639  
15640    Behavior = FireWeaponWhenDeadBehavior ModuleTag_92
15641      RequiredStatus  = STATUS_RIDER5
15642      DeathWeapon   = Chem_SuicideWeaponBeta
15643      StartsActive  = No                      ; turned on by upgrade
15644      TriggeredBy   = Upgrade_GLAAnthraxBeta
15645      RequiresAllTriggers = Yes ;TriggeredBy is an AND, not an OR like it normally is
15646      ConflictsWith = Chem_Upgrade_GLAAnthraxGamma
15647    End
15648  
15649    Behavior = FireWeaponWhenDeadBehavior ModuleTag_93
15650      RequiredStatus  = STATUS_RIDER5
15651      DeathWeapon   = Chem_SuicideWeapon
15652      StartsActive  = No                      ; turned on by upgrade
15653      ConflictsWith = Upgrade_GLAAnthraxBeta Chem_Upgrade_GLAAnthraxGamma 
15654    End
15655  
15656  ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames.
15657  ;  Behavior = GrantUpgradeCreate ModuleTag_94
15658  ;    UpgradeToGrant = Upgrade_GLAAnthraxBeta
15659  ;  End
15660    ;////////////////
15661  
15662  
15663    Behavior = StealthUpdate ModuleTag_19
15664      UseRiderStealth             = Yes
15665      ;StealthDelay                = 2000 ; msec
15666      ;StealthForbiddenConditions  = ATTACKING
15667      ;InnateStealth               = Yes
15668      ;OrderIdleEnemiesToAttackMeUponReveal  = Yes
15669    End
15670  
15671    Behavior = FlammableUpdate ModuleTag_21
15672      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
15673      AflameDamageAmount = 3       ; taking this much damage...
15674      AflameDamageDelay = 500       ; this often.
15675    End
15676  
15677    Geometry = BOX
15678    GeometryMajorRadius = 11.0
15679    GeometryMinorRadius = 2.5
15680    GeometryHeight = 7.5     
15681    GeometryIsSmall = Yes    
15682  
15683    Shadow = SHADOW_VOLUME
15684    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
15685  
15686  End
15687  
15688  
15689  ;------------------------------------------------------------------------------
15690  Object Chem_GLAVehicleQuadCannon
15691  
15692    ; *** ART Parameters ***
15693    SelectPortrait         = SUQuadCannon_L
15694    ButtonImage            = SUQuadCannon
15695    
15696    UpgradeCameo1 = Upgrade_GLAAPBullets
15697    UpgradeCameo2 = Upgrade_GLAJunkRepair
15698    ;UpgradeCameo3 = XXX
15699    ;UpgradeCameo4 = XXX
15700    ;UpgradeCameo5 = XXX
15701    
15702    Draw = W3DTankTruckDraw ModuleTag_01
15703      OkToChangeModelColor = Yes
15704  
15705      ConditionState = NONE
15706        Model = UVQuadCann
15707        Turret = TURRET
15708        TurretPitch = TURRETEL
15709        WeaponFireFXBone  = PRIMARY   BarrelMS
15710        WeaponMuzzleFlash = PRIMARY   BarrelFX
15711        WeaponRecoilBone  = PRIMARY   Barrel
15712        WeaponFireFXBone  = SECONDARY BarrelMS
15713        WeaponMuzzleFlash = SECONDARY BarrelFX
15714        WeaponRecoilBone  = SECONDARY Barrel
15715        ShowSubObject = TURRET
15716        HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04  ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash
15717      End
15718        
15719      ConditionState = REALLYDAMAGED
15720        Model = UVQuadCann_D
15721        Turret = TURRET
15722        TurretPitch = TURRETEL
15723        WeaponFireFXBone  = PRIMARY   BarrelMS
15724        WeaponMuzzleFlash = PRIMARY   BarrelFX
15725        WeaponRecoilBone  = PRIMARY   Barrel
15726        WeaponFireFXBone  = SECONDARY BarrelMS
15727        WeaponMuzzleFlash = SECONDARY BarrelFX
15728        WeaponRecoilBone  = SECONDARY Barrel
15729        ShowSubObject = TURRET
15730        HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04
15731      End
15732      
15733      ConditionState = RUBBLE
15734        Model = UVQuadCann_D
15735        Turret = TURRET
15736        TurretPitch = TURRETEL
15737        WeaponFireFXBone  = PRIMARY   BarrelMS
15738        WeaponMuzzleFlash = PRIMARY   BarrelFX
15739        WeaponRecoilBone  = PRIMARY   Barrel
15740        WeaponFireFXBone  = SECONDARY BarrelMS
15741        WeaponMuzzleFlash = SECONDARY BarrelFX
15742        WeaponRecoilBone  = SECONDARY Barrel
15743        ShowSubObject = TURRET
15744        HideSubObject = TURRETUP01 TURRETUP02 BarrelFX01 BarrelFX02 BarrelFX03 BarrelFX04
15745      End
15746  
15747      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
15748        Model = UVQuadCann
15749        Turret = TURRETUP01
15750        TurretPitch = TURRETEL01
15751        WeaponFireFXBone  = PRIMARY   BarrelUp01MS
15752        WeaponMuzzleFlash = PRIMARY   BarrelUp01FX
15753        WeaponRecoilBone  = PRIMARY   BarrelUp01
15754        WeaponFireFXBone  = SECONDARY BarrelUp01MS
15755        WeaponMuzzleFlash = SECONDARY BarrelUp01FX
15756        WeaponRecoilBone  = SECONDARY BarrelUp01
15757        ShowSubObject = TURRETUP01
15758        HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04
15759      End
15760      
15761      ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED
15762        Model = UVQuadCann
15763        Turret = TURRETUP01
15764        TurretPitch = TURRETEL01
15765        WeaponFireFXBone  = PRIMARY   BarrelUp01MS
15766        WeaponMuzzleFlash = PRIMARY   BarrelUp01FX
15767        WeaponRecoilBone  = PRIMARY   BarrelUp01
15768        WeaponFireFXBone  = SECONDARY BarrelUp01MS
15769        WeaponMuzzleFlash = SECONDARY BarrelUp01FX
15770        WeaponRecoilBone  = SECONDARY BarrelUp01
15771        ShowSubObject = TURRETUP01
15772        HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04
15773      End
15774      
15775      ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE
15776        Model = UVQuadCann
15777        Turret = TURRETUP01
15778        TurretPitch = TURRETEL01
15779        WeaponFireFXBone  = PRIMARY   BarrelUp01MS
15780        WeaponMuzzleFlash = PRIMARY   BarrelUp01FX
15781        WeaponRecoilBone  = PRIMARY   BarrelUp01
15782        WeaponFireFXBone  = SECONDARY BarrelUp01MS
15783        WeaponMuzzleFlash = SECONDARY BarrelUp01FX
15784        WeaponRecoilBone  = SECONDARY BarrelUp01
15785        ShowSubObject = TURRETUP01
15786        HideSubObject = TURRET TURRETUP02 BarrelUp01FX01 BarrelUp01FX02 BarrelUp01FX03 BarrelUp01FX04
15787      End
15788  
15789      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
15790        Model = UVQuadCann
15791        Turret = TURRETUP02
15792        TurretPitch = TURRETEL02
15793        WeaponFireFXBone  = PRIMARY   BarrelUp02MS
15794        WeaponMuzzleFlash = PRIMARY   BarrelUp02FX
15795        WeaponRecoilBone  = PRIMARY   BarrelUp02
15796        WeaponFireFXBone  = SECONDARY BarrelUp02MS
15797        WeaponMuzzleFlash = SECONDARY BarrelUp02FX
15798        WeaponRecoilBone  = SECONDARY BarrelUp02
15799        ShowSubObject = TURRETUP02
15800        HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04
15801      End
15802      
15803      ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED
15804        Model = UVQuadCann_D
15805        Turret = TURRETUP02
15806        TurretPitch = TURRETEL02
15807        WeaponFireFXBone  = PRIMARY   BarrelUp02MS
15808        WeaponMuzzleFlash = PRIMARY   BarrelUp02FX
15809        WeaponRecoilBone  = PRIMARY   BarrelUp02
15810        WeaponFireFXBone  = SECONDARY BarrelUp02MS
15811        WeaponMuzzleFlash = SECONDARY BarrelUp02FX
15812        WeaponRecoilBone  = SECONDARY BarrelUp02
15813        ShowSubObject = TURRETUP02
15814        HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04
15815      End
15816      
15817      ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE
15818        Model = UVQuadCann_D
15819        Turret = TURRETUP02
15820        TurretPitch = TURRETEL02
15821        WeaponFireFXBone  = PRIMARY   BarrelUp02MS
15822        WeaponMuzzleFlash = PRIMARY   BarrelUp02FX
15823        WeaponRecoilBone  = PRIMARY   BarrelUp02
15824        WeaponFireFXBone  = SECONDARY BarrelUp02MS
15825        WeaponMuzzleFlash = SECONDARY BarrelUp02FX
15826        WeaponRecoilBone  = SECONDARY BarrelUp02
15827        ShowSubObject = TURRETUP02
15828        HideSubObject = TURRETUP01 TURRET BarrelUp02FX01 BarrelUp02FX02 BarrelUp02FX03 BarrelUp02FX04
15829      End
15830  
15831      TrackMarks = EXTnkTrack.tga
15832  
15833      TreadAnimationRate = 2.0;  amount of tread texture to move per second
15834      TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
15835      TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
15836  
15837      Dust = RocketBuggyDust
15838      DirtSpray = RocketBuggyDirtSpray
15839   
15840      ; These parameters are only used if the model has a separate suspension, 
15841      ; and the locomotor has HasSuspension = Yes.
15842      LeftFrontTireBone = Tire01
15843      RightFrontTireBone = Tire02
15844      TireRotationMultiplier = 0.2   ; this * speed = rotation.
15845      PowerslideRotationAddition = 0   ; This unit doesn't powerslide.
15846    End
15847  
15848    ; ***DESIGN parameters ***
15849    DisplayName      = OBJECT:QuadCannon
15850    Side = GLAToxinGeneral
15851    EditorSorting   = VEHICLE
15852    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
15853    WeaponSet
15854      Conditions = None 
15855      Weapon = PRIMARY QuadCannonGun
15856      Weapon = SECONDARY QuadCannonGunAir
15857    End
15858    WeaponSet
15859      Conditions = CRATEUPGRADE_ONE 
15860      Weapon = PRIMARY QuadCannonGunUpgradeOne
15861      Weapon = SECONDARY QuadCannonGunUpgradeOneAir
15862    End
15863    WeaponSet
15864      Conditions = CRATEUPGRADE_TWO 
15865      Weapon = PRIMARY QuadCannonGunUpgradeTwo
15866      Weapon = SECONDARY QuadCannonGunUpgradeTwoAir
15867    End
15868    ArmorSet
15869      Conditions      = None
15870      Armor           = HumveeArmor
15871      DamageFX        = TankDamageFX
15872    End
15873    BuildCost       = 750
15874    BuildTime       = 6.0          ;in seconds    
15875    VisionRange     = 150
15876    ShroudClearingRange = 300
15877    Prerequisites
15878      Object = Chem_GLAArmsDealer
15879    End
15880  
15881    CommandSet          = GLAVehicleQuadCannon
15882  
15883    ExperienceValue = 50 50 100 150    ;Experience point value at each level
15884    ExperienceRequired = 0 100 150 300  ;Experience points needed to gain each level
15885    IsTrainable = Yes             ;Can gain experience
15886    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
15887    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
15888  
15889    ; *** AUDIO Parameters ***
15890    VoiceSelect           = QuadCannonVoiceSelect
15891    VoiceMove             = QuadCannonVoiceMove
15892    VoiceAttack           = QuadCannonVoiceAttack
15893    VoiceAttackAir        = QuadCannonVoiceAttackAir
15894    SoundMoveStart        = QuadCannonMoveStart
15895    SoundMoveStartDamaged = QuadCannonMoveStart
15896    VoiceGuard             = QuadCannonVoiceMove
15897    UnitSpecificSounds
15898     ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
15899      VoiceCreate         = QuadCannonVoiceCreate
15900     TurretMoveStart      = NoSound
15901     TurretMoveLoop       = TurretMoveLoop
15902     ; Required for the W3DTruckDraw module
15903     TruckLandingSound    = NoSound
15904     TruckPowerslideSound = NoSound
15905     VoiceSalvage         = QuadCannonVoiceSalvage
15906     VoiceCrush           = QuadCannonVoiceCrush
15907     VoiceEnter             = QuadCannonVoiceMove
15908    End
15909  
15910  
15911    ; *** ENGINEERING Parameters ***
15912    RadarPriority = UNIT
15913    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE
15914  
15915    Body = ActiveBody ModuleTag_02
15916      MaxHealth       = 300.0
15917      InitialHealth   = 300.0
15918  
15919      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
15920      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
15921      SubdualDamageCap = 440
15922      SubdualDamageHealRate = 500
15923      SubdualDamageHealAmount = 50
15924    End
15925    
15926    Behavior = AIUpdateInterface ModuleTag_03
15927      Turret
15928        TurretTurnRate = 360
15929        TurretPitchRate = 360
15930        AllowsPitch = Yes
15931        ControlledWeaponSlots = PRIMARY SECONDARY
15932      End
15933      AutoAcquireEnemiesWhenIdle = Yes Stealthed
15934      MoodAttackCheckRate        = 250
15935    End
15936    
15937    Locomotor = SET_NORMAL QuadCannonLocomotor
15938    
15939    Behavior = PhysicsBehavior ModuleTag_04
15940      Mass = 40.0
15941    End
15942    
15943    ; Catch fire, and explode death
15944    Behavior = SlowDeathBehavior ModuleTag_05
15945      DeathTypes = ALL -CRUSHED -SPLATTED
15946      ProbabilityModifier = 411
15947      DestructionDelay = 150
15948      DestructionDelayVariance = 250
15949      OCL = FINAL    OCL_QuadCannonDeathEffect  
15950      FX  = FINAL    FX_BattleMasterExplosionOneFinal
15951    End
15952    
15953    Behavior = AutoHealBehavior ModuleTag_06
15954      HealingAmount = 2
15955      HealingDelay = 1000 ; msec
15956      TriggeredBy = Upgrade_GLAJunkRepair
15957    End
15958  
15959    Behavior = FlammableUpdate ModuleTag_08
15960      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
15961      AflameDamageAmount = 3       ; taking this much damage...
15962      AflameDamageDelay = 500       ; this often.
15963    End
15964  
15965    Behavior                 = TransitionDamageFX ModuleTag_09
15966      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
15967      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
15968    End
15969  
15970  
15971    ; A crushing defeat
15972    Behavior = FXListDie ModuleTag_10
15973      DeathTypes = NONE +CRUSHED +SPLATTED
15974      DeathFX = FX_CarCrush
15975    End
15976  
15977    Behavior = CreateCrateDie ModuleTag_11
15978      CrateData = SalvageCrateData
15979      ;CrateData = EliteTankCrateData
15980      ;CrateData = HeroicTankCrateData
15981    End
15982  
15983    Behavior = WeaponBonusUpgrade ModuleTag_12
15984      TriggeredBy = Upgrade_GLAAPBullets
15985    End 
15986  
15987    Behavior = DestroyDie ModuleTag_13
15988      DeathTypes = NONE +CRUSHED +SPLATTED
15989    End
15990  
15991    Geometry = BOX
15992    GeometryMajorRadius = 18.0
15993    GeometryMinorRadius = 7.0
15994    GeometryHeight = 11.5     
15995    GeometryIsSmall = No
15996    Shadow = SHADOW_VOLUME
15997    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
15998  
15999  End
16000  
16001  ;------------------------------------------------------------------------------
16002  Object Chem_GLAVehicleToxinTruck
16003  
16004    ; *** ART Parameters ***
16005    SelectPortrait         = SUToxinTractor_L
16006    ButtonImage            = SUToxinTractor
16007    
16008    UpgradeCameo1 = Chem_Upgrade_GLAAnthraxGamma
16009    UpgradeCameo2 = Upgrade_GLAJunkRepair
16010    ;UpgradeCameo3 = NONE
16011    ;UpgradeCameo4 = NONE
16012    ;UpgradeCameo5 = NONE
16013    
16014    Draw = W3DTruckDraw ModuleTag_01
16015      OkToChangeModelColor = Yes
16016  
16017      DefaultConditionState 
16018        Model = UVToxinTrk
16019        Turret = Turret
16020        TurretPitch = TurretEL
16021        ShowSubObject = Turret
16022        HideSubObject = TurretUP01 TurretUP02
16023        WeaponFireFXBone = PRIMARY WeaponA
16024        WeaponLaunchBone = PRIMARY WeaponA
16025        WeaponFireFXBone = SECONDARY Spigot
16026        WeaponLaunchBone = SECONDARY Spigot
16027      End
16028      AliasConditionState WEAPONSET_PLAYER_UPGRADE
16029  
16030      ConditionState = USING_WEAPON_B 
16031        Model = UVToxinTrk
16032        ParticleSysBone = none AnthraxPuddleContinuous
16033      END
16034      ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE
16035        Model = UVToxinTrk
16036        ParticleSysBone = none AnthraxGammaPuddleContinuous
16037      END
16038  
16039      ConditionState = REALLYDAMAGED
16040        Model = UVToxinTrk_D
16041      End
16042      AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE
16043      AliasConditionState RUBBLE
16044      AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE
16045  
16046      ConditionState = USING_WEAPON_B REALLYDAMAGED
16047        Model = UVToxinTrk_D
16048        ParticleSysBone = none AnthraxPuddleContinuous
16049      END
16050      ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE 
16051        Model = UVToxinTrk_D
16052        ParticleSysBone = none AnthraxGammaPuddleContinuous
16053      END
16054  
16055  ; -------------- Turret change #1
16056      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
16057        Turret = TurretUP01
16058        TurretPitch = TurretEL01
16059        ShowSubObject = TurretUP01
16060        HideSubObject = Turret TurretUP02
16061        WeaponFireFXBone = PRIMARY WeaponB
16062        WeaponLaunchBone = PRIMARY WeaponB
16063      End
16064      AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE
16065  
16066      ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_ONE
16067        Turret = TurretUP01
16068        TurretPitch = TurretEL01
16069        ShowSubObject = TurretUP01
16070        HideSubObject = Turret TurretUP02
16071        WeaponFireFXBone = PRIMARY WeaponB
16072        WeaponLaunchBone = PRIMARY WeaponB
16073        ParticleSysBone = none AnthraxPuddleContinuous
16074      END
16075      ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE
16076        Turret = TurretUP01
16077        TurretPitch = TurretEL01
16078        ShowSubObject = TurretUP01
16079        HideSubObject = Turret TurretUP02
16080        WeaponFireFXBone = PRIMARY WeaponB
16081        WeaponLaunchBone = PRIMARY WeaponB
16082        ParticleSysBone = none AnthraxGammaPuddleContinuous
16083      END
16084  
16085      ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE
16086        Model = UVToxinTrk_D
16087        Turret = TurretUP01
16088        TurretPitch = TurretEL01
16089        ShowSubObject = TurretUP01
16090        HideSubObject = Turret TurretUP02
16091        WeaponFireFXBone = PRIMARY WeaponB
16092        WeaponLaunchBone = PRIMARY WeaponB
16093      End
16094      AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE
16095      AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_ONE
16096      AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_ONE
16097  
16098      ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE
16099        Model = UVToxinTrk_D
16100        Turret = TurretUP01
16101        TurretPitch = TurretEL01
16102        ShowSubObject = TurretUP01
16103        HideSubObject = Turret TurretUP02
16104        WeaponFireFXBone = PRIMARY WeaponB
16105        WeaponLaunchBone = PRIMARY WeaponB
16106        ParticleSysBone = none AnthraxPuddleContinuous
16107      END
16108      ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_ONE 
16109        Model = UVToxinTrk_D
16110        Turret = TurretUP01
16111        TurretPitch = TurretEL01
16112        ShowSubObject = TurretUP01
16113        HideSubObject = Turret TurretUP02
16114        WeaponFireFXBone = PRIMARY WeaponB
16115        WeaponLaunchBone = PRIMARY WeaponB
16116        ParticleSysBone = none AnthraxGammaPuddleContinuous
16117      END
16118  
16119  ; -------------- Turret change #2
16120      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
16121        Turret = TurretUP02
16122        TurretPitch = TurretEL02
16123        ShowSubObject = TurretUP02
16124        HideSubObject = TurretUP01 Turret
16125        WeaponFireFXBone = PRIMARY WeaponC
16126        WeaponLaunchBone = PRIMARY WeaponC
16127      End
16128      AliasConditionState WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO
16129  
16130      ConditionState = USING_WEAPON_B WEAPONSET_CRATEUPGRADE_TWO
16131        Turret = TurretUP02
16132        TurretPitch = TurretEL02
16133        ShowSubObject = TurretUP02
16134        HideSubObject = TurretUP01 Turret
16135        WeaponFireFXBone = PRIMARY WeaponC
16136        WeaponLaunchBone = PRIMARY WeaponC
16137        ParticleSysBone = none AnthraxPuddleContinuous
16138      END
16139      ConditionState = USING_WEAPON_B WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO
16140        Turret = TurretUP02
16141        TurretPitch = TurretEL02
16142        ShowSubObject = TurretUP02
16143        HideSubObject = TurretUP01 Turret
16144        WeaponFireFXBone = PRIMARY WeaponC
16145        WeaponLaunchBone = PRIMARY WeaponC
16146        ParticleSysBone = none AnthraxGammaPuddleContinuous
16147      END
16148  
16149      ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO
16150        Model = UVToxinTrk_D
16151        Turret = TurretUP02
16152        TurretPitch = TurretEL02
16153        ShowSubObject = TurretUP02
16154        HideSubObject = TurretUP01 Turret
16155        WeaponFireFXBone = PRIMARY WeaponC
16156        WeaponLaunchBone = PRIMARY WeaponC
16157      End
16158      AliasConditionState REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO
16159      AliasConditionState RUBBLE WEAPONSET_CRATEUPGRADE_TWO
16160      AliasConditionState WEAPONSET_PLAYER_UPGRADE RUBBLE WEAPONSET_CRATEUPGRADE_TWO
16161  
16162      ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO
16163        Model = UVToxinTrk_D
16164        Turret = TurretUP02
16165        TurretPitch = TurretEL02
16166        ShowSubObject = TurretUP02
16167        HideSubObject = TurretUP01 Turret
16168        WeaponFireFXBone = PRIMARY WeaponC
16169        WeaponLaunchBone = PRIMARY WeaponC
16170        ParticleSysBone = none AnthraxPuddleContinuous
16171      END
16172      ConditionState = USING_WEAPON_B REALLYDAMAGED WEAPONSET_PLAYER_UPGRADE WEAPONSET_CRATEUPGRADE_TWO 
16173        Model = UVToxinTrk_D
16174        Turret = TurretUP02
16175        TurretPitch = TurretEL02
16176        ShowSubObject = TurretUP02
16177        HideSubObject = TurretUP01 Turret
16178        WeaponFireFXBone = PRIMARY WeaponC
16179        WeaponLaunchBone = PRIMARY WeaponC
16180        ParticleSysBone = none AnthraxGammaPuddleContinuous
16181      END
16182  
16183      TrackMarks = EXTireTrack.tga
16184      LeftFrontTireBone = Tire01
16185      RightFrontTireBone = Tire02
16186      LeftRearTireBone = Tire03
16187      RightRearTireBone = Tire04
16188  
16189      TireRotationMultiplier = 0.2   ; this * speed = rotation.
16190      PowerslideRotationAddition = 0   ; This vehicle doesn't powerslide.
16191  
16192      Dust = RocketBuggyDust
16193      DirtSpray = RocketBuggyDirtSpray
16194  
16195    End
16196  
16197    ; ***DESIGN parameters ***
16198    DisplayName         = OBJECT:ToxinTruck
16199    Side                = GLAToxinGeneral
16200    EditorSorting       = VEHICLE
16201    TransportSlotCount  = 3                 ;how many "slots" we take in a transport (0 == not transportable)
16202    WeaponSet 
16203      Conditions        = None 
16204      Weapon            = PRIMARY     ToxinTruckGunUpgraded
16205      Weapon            = SECONDARY   ToxinTruckSprayerUpgraded
16206      AutoChooseSources = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
16207      AutoChooseSources = SECONDARY   NONE ;Special attack only
16208    End
16209    WeaponSet
16210      Conditions        = PLAYER_UPGRADE 
16211      Weapon            = PRIMARY     Chem_ToxinTruckGunGamma
16212      Weapon            = SECONDARY   Chem_ToxinTruckSprayerGamma
16213      AutoChooseSources = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
16214      AutoChooseSources = SECONDARY   NONE ;Special attack only
16215    End
16216    WeaponSet 
16217      Conditions        = CRATEUPGRADE_ONE 
16218      Weapon            = PRIMARY     ToxinTruckGunUpgradedPlusOne
16219      Weapon            = SECONDARY   ToxinTruckSprayerUpgradedPlusOne
16220      AutoChooseSources = SECONDARY   NONE ;Special attack only
16221    End
16222    WeaponSet
16223      Conditions        = CRATEUPGRADE_ONE PLAYER_UPGRADE 
16224      Weapon            = PRIMARY     Chem_ToxinTruckGunGammaPlusOne
16225      Weapon            = SECONDARY   Chem_ToxinTruckSprayerGammaPlusOne
16226      AutoChooseSources = SECONDARY   NONE ;Special attack only
16227    End
16228    WeaponSet 
16229      Conditions        = CRATEUPGRADE_TWO 
16230      Weapon            = PRIMARY     ToxinTruckGunUpgradedPlusTwo
16231      Weapon            = SECONDARY   ToxinTruckSprayerUpgradedPlusTwo
16232      AutoChooseSources = SECONDARY   NONE ;Special attack only
16233    End
16234    WeaponSet
16235      Conditions        = CRATEUPGRADE_TWO PLAYER_UPGRADE 
16236      Weapon            = PRIMARY     Chem_ToxinTruckGunGammaPlusTwo
16237      Weapon            = SECONDARY   Chem_ToxinTruckSprayerGammaPlusTwo
16238      AutoChooseSources = SECONDARY   NONE ;Special attack only
16239    End
16240  
16241    ArmorSet
16242      Conditions        = None
16243      Armor             = ToxinTruckArmor
16244      DamageFX          = TruckDamageFX
16245    End
16246    BuildCost           = 650
16247    BuildTime           = 5.0          ;in seconds    
16248    VisionRange         = 100
16249    ShroudClearingRange = 200
16250    Prerequisites
16251      Object = Chem_GLAArmsDealer
16252    End
16253  
16254    ExperienceValue     = 50 50 100 150    ;Experience point value at each level
16255    ExperienceRequired  = 0 100 150 300  ;Experience points needed to gain each level
16256    IsTrainable         = Yes             ;Can gain experience
16257    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
16258    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
16259    CommandSet          = GLAVehicleToxinTruckCommandSet
16260  
16261    ; *** AUDIO Parameters ***
16262    VoiceSelect         = ToxinTractorVoiceSelect
16263    VoiceMove           = ToxinTractorVoiceMove
16264    VoiceGuard          = ToxinTractorVoiceMove
16265    VoiceAttack         = ToxinTractorVoiceAttack
16266    SoundMoveStart      = ToxinTractorMoveStart
16267    SoundMoveStartDamaged = ToxinTractorMoveStart
16268  
16269    UnitSpecificSounds
16270      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
16271      VoiceCreate         = ToxinTractorVoiceCreate
16272      TurretMoveStart     = NoSound
16273      TurretMoveLoop      = TurretMoveLoop
16274     TruckLandingSound    = NoSound
16275     TruckPowerslideSound = NoSound
16276      VoiceCrush      = ToxinTractorVoiceCrush
16277      VoiceEnter           = ToxinTractorVoiceMove
16278      VoicePoisonLocation = ToxinTractorVoiceAttackContam
16279  
16280    End
16281  
16282    ; *** ENGINEERING Parameters ***
16283    RadarPriority         = UNIT
16284    KindOf                = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE
16285  
16286    Body = ActiveBody ModuleTag_02
16287      MaxHealth           = 240.0
16288      InitialHealth       = 240.0
16289  
16290      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
16291      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
16292      SubdualDamageCap = 480
16293      SubdualDamageHealRate = 500
16294      SubdualDamageHealAmount = 50
16295    End
16296  
16297    Behavior = AIUpdateInterface ModuleTag_03
16298      AutoAcquireEnemiesWhenIdle = Yes
16299      Turret
16300        TurretTurnRate            = 180
16301        TurretPitchRate           = 180
16302        AllowsPitch               = Yes
16303        MinPhysicalPitch          = -20 ; If allows pitch, the lowest I can dip down to shoot.  defaults to 0 (horizontal)
16304        TurretFireAngleSweep      = PRIMARY 8
16305        TurretSweepSpeedModifier  = PRIMARY 0.5    ; Sweep slower than you turn
16306        ControlledWeaponSlots     = PRIMARY
16307      End
16308    End
16309    Locomotor             = SET_NORMAL ToxinTruckLocomotor
16310    Behavior              = PhysicsBehavior ModuleTag_04
16311      Mass                = 50.0
16312    End
16313  
16314    Behavior                    = SlowDeathBehavior  ModuleTag_05
16315      DeathTypes                = ALL -CRUSHED -SPLATTED
16316      ProbabilityModifier       = 5
16317      ModifierBonusPerOverkillPercent = 20%  ; negative means less likely to pick this in the face of much damage, positive means more likely
16318      DestructionDelay          = 0
16319      DestructionDelayVariance  = 200
16320      FX                        = INITIAL FX_ToxinTractorDie
16321      OCL                       = INITIAL OCL_ToxinTractorDeathEffect
16322      FX                        = FINAL FX_ToxinTruckExplosionOneFinal
16323    End
16324    Behavior                    = InstantDeathBehavior  ModuleTag_06
16325      DeathTypes                = NONE +CRUSHED +SPLATTED
16326      FX                        = FX_CarCrush
16327      OCL                       = OCL_CrusaderTank_CrushEffect
16328    End
16329      
16330    Behavior = CreateCrateDie ModuleTag_07
16331      CrateData   = SalvageCrateData
16332      ;CrateData  = EliteTankCrateData
16333      ;CrateData  = HeroicTankCrateData
16334    End
16335  
16336    Behavior = WeaponSetUpgrade ModuleTag_08
16337      ; the Toxin Tractor gets this upgrade if we either buy the upgrade,
16338      ; or if it gets HEROIC status
16339      TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma Upgrade_Veterancy_HEROIC
16340    End
16341    
16342    Behavior                          = TransitionDamageFX ModuleTag_11
16343      ReallyDamagedParticleSystem1  = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
16344      ReallyDamagedFXList1          = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
16345    End
16346    
16347    Behavior = AutoHealBehavior ModuleTag_12
16348      HealingAmount   = 2
16349      HealingDelay    = 1000 ; msec
16350      TriggeredBy     = Upgrade_GLAJunkRepair
16351    End
16352  
16353    Behavior = FlammableUpdate ModuleTag_21
16354      AflameDuration          = 5000         ; If I catch fire, I'll burn for this long...
16355      AflameDamageAmount      = 3       ; taking this much damage...
16356      AflameDamageDelay       = 500       ; this often.
16357    End
16358  
16359    Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_13
16360      WeaponSlot            = SECONDARY
16361      ConflictsWith         = Chem_Upgrade_GLAAnthraxGamma Upgrade_Veterancy_HEROIC
16362      OCL                   = OCL_PoisonFieldUpgradedMedium
16363      MinShotsToCreateOCL   = 4
16364      OCLLifetimePerSecond  = 10000
16365      OCLLifetimeMaxCap     = 180000
16366    End
16367    Behavior = FireOCLAfterWeaponCooldownUpdate ModuleTag_14
16368      WeaponSlot            = SECONDARY
16369      TriggeredBy           = Chem_Upgrade_GLAAnthraxGamma Upgrade_Veterancy_HEROIC
16370      OCL                   = OCL_PoisonFieldGammaMedium
16371      MinShotsToCreateOCL   = 4
16372      OCLLifetimePerSecond  = 10000
16373      OCLLifetimeMaxCap     = 180000
16374    End
16375  
16376    Behavior = FireWeaponWhenDeadBehavior ModuleTag_15    ;These two make the right damage field at death
16377      DeathWeapon   = ToxinShellWeapon
16378      StartsActive  = Yes   
16379      ConflictsWith = Chem_Upgrade_GLAAnthraxGamma
16380    End
16381    Behavior = FireWeaponWhenDeadBehavior ModuleTag_16
16382      DeathWeapon   = Chem_ToxinShellWeaponGamma
16383      StartsActive  = No   
16384      TriggeredBy = Chem_Upgrade_GLAAnthraxGamma
16385    End
16386  
16387    Geometry = BOX
16388    GeometryMajorRadius = 13.0
16389    GeometryMinorRadius = 9.0
16390    GeometryHeight = 10.0   ; set to make the projectile stream look right  
16391    GeometryIsSmall = Yes    
16392    Shadow = SHADOW_VOLUME
16393    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
16394  
16395  End
16396  
16397  
16398  
16399  
16400  
16401  
16402  ;------------------------------------------------------------------------------
16403  Object Chem_GLAVehicleBombTruck
16404  
16405    ; *** ART Parameters ***
16406    SelectPortrait         = SUBombTruck_L
16407    ButtonImage            = SUBombTruck
16408    
16409    UpgradeCameo1 = Upgrade_GLABombTruckBioBomb
16410    UpgradeCameo2 = Upgrade_GLAJunkRepair
16411    ;UpgradeCameo3 = NONE
16412    ;UpgradeCameo4 = NONE
16413    ;UpgradeCameo5 = NONE
16414    
16415    
16416    Draw = W3DTruckDraw ModuleTag_01
16417      OkToChangeModelColor = Yes
16418      TrackMarks = EXTireTrack.tga
16419      
16420      DefaultConditionState
16421        Model = UVBMBTRUK
16422        Animation = UVBMBTRUK.UVBMBTRUK
16423        AnimationMode = LOOP
16424  
16425        ;Display the default bombload -- and the upgrades will handle the rest!
16426        HideSubObject = Bombload02 Bombload03 Bombload04
16427      End
16428  
16429      ConditionState = REALLYDAMAGED
16430        Model = UVBMBTRUK_D
16431        Animation = UVBMBTRUK_D.UVBMBTRUK_D
16432        AnimationMode = LOOP
16433      End
16434      
16435      ConditionState = RUBBLE
16436        Model = UVBMBTRUK_D
16437      End
16438  
16439      LeftFrontTireBone = Tire01
16440      RightFrontTireBone = Tire02
16441      MidLeftFrontTireBone = Tire03
16442      MidRightFrontTireBone = Tire04
16443      LeftRearTireBone = Tire05
16444      RightRearTireBone = Tire06
16445      TireRotationMultiplier = 0.2   ; this * speed = rotation.
16446  
16447      Dust = RocketBuggyDust
16448      DirtSpray = RocketBuggyDirtSpray
16449      PowerslideSpray = RocketBuggyDirtPowerSlide
16450  
16451    End
16452  
16453    ; ***DESIGN parameters ***
16454    DisplayName      = OBJECT:BombTruck
16455    Side = GLAToxinGeneral
16456    EditorSorting   = VEHICLE
16457    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
16458    WeaponSet
16459      Conditions = None 
16460      Weapon = PRIMARY SuicideWeapon 
16461    End
16462    ArmorSet
16463      Conditions      = None
16464      Armor           = TruckArmor
16465      DamageFX        = TruckDamageFX
16466    End
16467    BuildCost       = 1200
16468    BuildTime       = 15.0          ;in seconds    
16469    VisionRange     = 150 ; Used in attack move targeting
16470    ShroudClearingRange     = 200
16471    Prerequisites
16472      Object = Chem_GLAArmsDealer
16473      Object = Chem_GLAPalace
16474    End
16475    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
16476    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
16477    CommandSet = Chem_GLAVehicleBombTruckCommandSet
16478  
16479    ; *** AUDIO Parameters ***
16480    VoiceSelect = BombTruckVoiceSelect
16481    VoiceMove = BombTruckVoiceMove
16482    VoiceGuard = BombTruckVoiceMove
16483    VoiceAttack = BombTruckVoiceAttack
16484    SoundMoveStart = BombTruckMoveStart
16485    SoundMoveStartDamaged = BombTruckMoveStart
16486    UnitSpecificSounds
16487      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
16488      VoiceCreate                   = BombTruckVoiceCreate
16489      TurretMoveStart               = NoSound
16490      TurretMoveLoop                = NoSound
16491      TruckLandingSound             = RocketBuggyLand
16492      TruckPowerslideSound          = NoSound
16493      DisguiseStarted               = BombTruckDisguiseStarted
16494      DisguiseRevealedSuccess       = BombTruckDisguiseRevealedSuccess
16495      DisguiseRevealedFailure       = BombTruckDisguiseRevealedFailure
16496      VoiceEnter = BombTruckVoiceMove
16497    End
16498  
16499    ; *** ENGINEERING Parameters ***
16500    RadarPriority = UNIT
16501    KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE DISGUISER CANNOT_RETALIATE
16502  
16503    Body = ActiveBody ModuleTag_02
16504      MaxHealth       = 220.0
16505      InitialHealth   = 220.0
16506  
16507      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
16508      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
16509      SubdualDamageCap = 440
16510      SubdualDamageHealRate = 500
16511      SubdualDamageHealAmount = 50
16512    End
16513  
16514    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
16515    IsTrainable = No
16516  
16517    ;Kris: Um, bomb trucks don't gain experience.
16518    ;Behavior = VeterancyGainCreate ModuleTag_03
16519    ;  StartingLevel = VETERAN
16520    ;End
16521  
16522    Behavior = AIUpdateInterface ModuleTag_04
16523      AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS
16524    End
16525    Locomotor = SET_NORMAL BombTruckLocomotor
16526  
16527    Behavior = PhysicsBehavior ModuleTag_05
16528      Mass = 40.0
16529    End
16530  
16531    Behavior = AutoHealBehavior ModuleTag_06
16532      HealingAmount = 2
16533      HealingDelay = 1000 ; msec
16534      TriggeredBy = Upgrade_GLAJunkRepair
16535    End
16536  
16537    Behavior = ProductionUpdate ModuleTag_07
16538      ; nothing
16539    End
16540  
16541    Behavior = SlowDeathBehavior  ModuleTag_08
16542      DeathTypes = ALL -CRUSHED -SPLATTED
16543      ProbabilityModifier = 5
16544      ModifierBonusPerOverkillPercent = 20%  ; negative means less likely to pick this in the face of much damage, positive means more likely
16545      DestructionDelay = 0
16546      DestructionDelayVariance = 200
16547      FX = FINAL FX_BuggyNewDeathExplosion
16548      OCL = FINAL OCL_BombTruckDeathEffect
16549    End
16550  
16551    ;Behavior = DestroyDie
16552      ;nothing
16553    ;End
16554  
16555  
16556    ;************************************************************************************************
16557    ;* WHICH BOMB DO WE USE??? 
16558    ;* The complicated part is the part where we have 6 possible effect explosions based on 
16559    ;* all the possible upgrade combinations. Note that bio weapons don't inflict damage through
16560    ;* the explosion.
16561    ;*
16562    ;* DAMAGE COMBINATIONS (NO EFFECTS):
16563    ;* 1) Normal
16564    ;*
16565    ;* EFFECT COMBINATIONS (NO DAMAGE):
16566    ;* 1) Normal (no upgrades)
16567    ;* 2) Anthrax (bio-bomb upgrade)
16568    ;* 3) Anthrax (bio-bomb and Anthrax gamma upgrade)
16569    ;************************************************************************************************
16570  
16571    ;************************************************************************************************
16572    ;* EXCLUSIVE DAMAGE POSSIBILITY 1 -- Normal explosion (can't have high-explosive upgrade)
16573    ;************************************************************************************************
16574    Behavior = FireWeaponWhenDeadBehavior ModuleTag_09
16575      DeathWeapon   = BombTruckDefaultBombDamage
16576      StartsActive  = Yes                      
16577    End
16578  
16579    ;************************************************************************************************
16580    ;* EXCLUSIVE EFFECT COMBINATION 1 - Regular explosion (no upgrades)
16581    ;************************************************************************************************
16582    Behavior = FireWeaponWhenDeadBehavior ModuleTag_11
16583      DeathWeapon   = BombTruckDefaultBombEffect
16584      StartsActive  = Yes                      ; turned on by upgrade
16585      ConflictsWith = Upgrade_GLABombTruckBioBomb
16586    End
16587  
16588    ;************************************************************************************************
16589    ;* EXCLUSIVE EFFECT COMBINATION 2 - Bio explosion 
16590    ;* Requires:    Anthrax upgrade
16591    ;* Can't have:  Anthrax upgrade, high explosive upgrade
16592    ;************************************************************************************************
16593    Behavior = FireWeaponWhenDeadBehavior ModuleTag_12
16594      DeathWeapon   = BombTruckAnthraxBombEffect
16595      StartsActive  = No                      ; turned on by upgrade
16596      TriggeredBy   = Upgrade_GLABombTruckBioBomb
16597      ConflictsWith = Chem_Upgrade_GLAAnthraxGamma
16598    End
16599  
16600    ;************************************************************************************************
16601    ;* EXCLUSIVE EFFECT COMBINATION 3 - Anthrax Gamma explosion 
16602    ;* Requires:    Bio upgrade and Anthrax Gamma upgrade
16603    ;************************************************************************************************
16604    Behavior = FireWeaponWhenDeadBehavior ModuleTag_13
16605      DeathWeapon   = BombTruckAnthraxGammaBombEffect
16606      StartsActive  = No                      ; turned on by upgrade
16607      TriggeredBy   = Upgrade_GLABombTruckBioBomb Chem_Upgrade_GLAAnthraxGamma
16608      RequiresAllTriggers = Yes
16609    End
16610  
16611    ;-------------------------------------------------------------------
16612    ; Now we get to display the payload based on upgrades!!! 
16613    ;-------------------------------------------------------------------
16614    Behavior = SubObjectsUpgrade ModuleTag_17
16615      ;*** Bio bomb load ***
16616      TriggeredBy    = Upgrade_GLABombTruckBioBomb 
16617      ShowSubObjects = Bombload02 
16618      HideSubObjects = Bombload01 Bombload03 Bombload04
16619    End
16620    ;-------------------------------------------------------------------
16621  
16622    Behavior = SpecialAbility ModuleTag_20
16623      SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle
16624      UpdateModuleStartsAttack = Yes
16625      InitiateSound = BombTruckVoiceDisguise
16626    End
16627    Behavior = SpecialAbilityUpdate ModuleTag_21
16628      SpecialPowerTemplate = SpecialAbilityDisguiseAsVehicle
16629      StartAbilityRange = 1000000.0
16630      ApproachRequiresLOS = No
16631    End
16632  
16633    Behavior = StealthUpdate ModuleTag_22
16634      StealthDelay                          = 1
16635      DisguisesAsTeam                       = Yes
16636      RevealDistanceFromTarget              = 100.0f
16637      OrderIdleEnemiesToAttackMeUponReveal  = Yes
16638      DisguiseFX                            = FX_BombTruckDisguise
16639      DisguiseRevealFX                      = FX_BombTruckDisguiseReveal
16640      InnateStealth                         = Yes
16641      DisguiseTransitionTime                = 2000
16642      DisguiseRevealTransitionTime          = 1000 
16643    End
16644  
16645    ; A crushing defeat
16646    Behavior = FXListDie ModuleTag_23
16647      DeathTypes = NONE +CRUSHED +SPLATTED
16648      DeathFX = FX_CarCrush
16649    End
16650    Behavior = CreateObjectDie ModuleTag_24
16651      DeathTypes = NONE +CRUSHED +SPLATTED
16652      CreationList = OCL_CrusaderTank_CrushEffect
16653    End
16654    Behavior = CreateCrateDie ModuleTag_25
16655      CrateData = SalvageCrateData
16656      ;CrateData = EliteTankCrateData
16657      ;CrateData = HeroicTankCrateData
16658    End
16659    
16660    Behavior = TransitionDamageFX ModuleTag_26
16661      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
16662      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
16663    End
16664  
16665    Behavior = FlammableUpdate ModuleTag_28
16666      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
16667      AflameDamageAmount = 3       ; taking this much damage...
16668      AflameDamageDelay = 500       ; this often.
16669    End
16670  
16671    Behavior = DestroyDie ModuleTag_29
16672      DeathTypes = NONE +CRUSHED +SPLATTED
16673    End
16674  
16675    Geometry = BOX
16676    GeometryMajorRadius = 19.0
16677    GeometryMinorRadius = 8.0
16678    GeometryHeight = 11.5     
16679    GeometryIsSmall = No    
16680    Shadow = SHADOW_VOLUME
16681    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
16682  
16683  End
16684  
16685  ;------------------------------------------------------------------------------
16686  Object Chem_GLAVehicleScudLauncher
16687  
16688    ; *** ART Parameters ***
16689    SelectPortrait         = SUScudLauncher_L
16690    ButtonImage            = SUScudLauncher
16691  
16692    UpgradeCameo1 = Upgrade_GLAJunkRepair
16693    UpgradeCameo2 = Upgrade_GLAAnthraxBeta
16694    ;UpgradeCameo3 = NONE
16695    ;UpgradeCameo4 = NONE
16696    ;UpgradeCameo5 = NONE
16697  
16698    Draw = W3DTruckDraw ModuleTag_01
16699      OkToChangeModelColor = Yes
16700  
16701      ProjectileBoneFeedbackEnabledSlots = PRIMARY SECONDARY ; WeaponLaunchBone will be shown/hidden, not just used for firing offset
16702    
16703      DefaultConditionState
16704        Model = UVScudLchr
16705        Turret = TURRET
16706        TurretPitch = TURRETEL
16707        ShowSubObject = TURRET
16708        HideSubObject = TURRETUP01 TURRETUP02
16709        WeaponLaunchBone = PRIMARY WeaponA
16710        WeaponLaunchBone = SECONDARY WeaponA
16711      End
16712  
16713      ConditionState = REALLYDAMAGED
16714        Model = UVScudLchr_d
16715      End
16716      AliasConditionState = RUBBLE
16717  
16718      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
16719        Model = UVScudLchr
16720        Turret = TURRETUP01
16721        TurretPitch = TURRETEL01
16722        ShowSubObject = TURRETUP01
16723        HideSubObject = TURRET TURRETUP02
16724        WeaponLaunchBone = PRIMARY WeaponB
16725        WeaponLaunchBone = SECONDARY WeaponB
16726      End
16727  
16728      ConditionState = WEAPONSET_CRATEUPGRADE_ONE REALLYDAMAGED
16729        Model = UVScudLchr_d
16730        Turret = TURRETUP01
16731        TurretPitch = TURRETEL01
16732        ShowSubObject = TURRETUP01
16733        HideSubObject = TURRET TURRETUP02
16734        WeaponLaunchBone = PRIMARY WeaponB
16735        WeaponLaunchBone = SECONDARY WeaponB
16736      End
16737  
16738      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
16739        Model = UVScudLchr
16740        Turret = TURRETUP02
16741        TurretPitch = TURRETEL02
16742        ShowSubObject = TURRETUP02
16743        HideSubObject = TURRET TURRETUP01
16744        WeaponLaunchBone = PRIMARY WeaponC
16745        WeaponLaunchBone = SECONDARY WeaponC
16746      End
16747  
16748      ConditionState = WEAPONSET_CRATEUPGRADE_TWO REALLYDAMAGED
16749        Model = UVScudLchr_d
16750        Turret = TURRETUP02
16751        TurretPitch = TURRETEL02
16752        ShowSubObject = TURRETUP02
16753        HideSubObject = TURRET TURRETUP01
16754        WeaponLaunchBone = PRIMARY WeaponC
16755        WeaponLaunchBone = SECONDARY WeaponC
16756      End
16757  
16758      TrackMarks = EXTireTrack.tga
16759  
16760      Dust = ScudLauncherDust
16761      DirtSpray = RocketBuggyDirtSpray
16762      PowerslideSpray = RocketBuggyDirtPowerSlide
16763  
16764      ; These parameters are only used if the model has a separate suspension, 
16765      ; and the locomotor has HasSuspension = Yes.
16766      LeftFrontTireBone = Tire01
16767      RightFrontTireBone = Tire05
16768      LeftRearTireBone = Tire04
16769      RightRearTireBone = Tire08
16770      MidLeftFrontTireBone = Tire02
16771      MidRightFrontTireBone = Tire06
16772      MidLeftRearTireBone = Tire03
16773      MidRightRearTireBone = Tire07
16774  
16775      TireRotationMultiplier = 0.2   ; this * speed = rotation.
16776      ;PowerslideRotationAddition = 0.0   ; This speed is added to the rotation speed when powersliding.
16777  
16778    End
16779  
16780  
16781    ; ***DESIGN parameters ***
16782  
16783    DisplayName      = OBJECT:ScudLauncher
16784    Side = GLAToxinGeneral
16785    EditorSorting   = VEHICLE
16786    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
16787    WeaponSet
16788      Conditions = None
16789      Weapon = PRIMARY SCUDLauncherGunAnthrax
16790      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 
16791    End
16792    WeaponSet
16793      Conditions = PLAYER_UPGRADE
16794      Weapon = PRIMARY Chem_SCUDLauncherGunAnthraxGamma
16795      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 
16796    End
16797    WeaponSet
16798      Conditions = CRATEUPGRADE_ONE
16799      Weapon = PRIMARY SCUDLauncherGunAnthraxPlusOne
16800      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 
16801    End
16802    WeaponSet
16803      Conditions = PLAYER_UPGRADE CRATEUPGRADE_ONE
16804      Weapon = PRIMARY Chem_SCUDLauncherGunAnthraxGammaPlusOne
16805      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 
16806    End
16807    WeaponSet
16808      Conditions = CRATEUPGRADE_TWO
16809      Weapon = PRIMARY SCUDLauncherGunAnthraxPlusTwo
16810      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 
16811    End
16812    WeaponSet
16813      Conditions = PLAYER_UPGRADE CRATEUPGRADE_TWO
16814      Weapon = PRIMARY Chem_SCUDLauncherGunAnthraxGammaPlusTwo
16815      AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI 
16816    End
16817    ArmorSet
16818      Conditions      = None
16819      Armor           = TruckArmor
16820      DamageFX        = TankDamageFX
16821    End
16822    BuildCost       = 1200
16823    BuildTime       = 15.0          ;in seconds    
16824    VisionRange     = 180
16825    ShroudClearingRange = 300
16826    Prerequisites
16827      Object = Chem_GLAArmsDealer
16828      Object = Chem_GLAPalace
16829      Science = SCIENCE_ScudLauncher
16830    End
16831  
16832    ExperienceValue = 50 50 100 150   ;Experience point value at each level
16833    ExperienceRequired = 0 100 200 400  ;Experience points needed to gain each level
16834    IsTrainable = Yes             ;Can gain experience
16835    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
16836    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
16837    CommandSet           = Chem_GLAVehicleScudLauncherCommandSet
16838  
16839    ; *** AUDIO Parameters ***
16840    VoiceSelect = ScudLauncherVoiceSelect
16841    VoiceMove = ScudLauncherVoiceMove
16842    VoiceGuard = ScudLauncherVoiceMove
16843    VoiceAttack = ScudLauncherVoiceAttack
16844    SoundMoveStart = ScudLauncherMoveStart
16845    SoundMoveStartDamaged = ScudLauncherMoveStart
16846    UnitSpecificSounds
16847      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
16848      VoiceCreate       = ScudLauncherVoiceCreate
16849      TurretMoveStart = NoSound
16850      TurretMoveLoop = TurretMoveLoop
16851      TruckLandingSound = NoSound
16852      TruckPowerslideSound = NoSound
16853      VoiceCrush = ScudLauncherVoiceCrush
16854      VoiceEnter = ScudLauncherVoiceMove
16855      VoicePrimaryWeaponMode = ScudLauncherVoiceModeHiEx
16856      VoiceSecondaryWeaponMode = ScudLauncherVoiceModeAnthrax
16857    End
16858  
16859    ; *** ENGINEERING Parameters ***
16860    RadarPriority = UNIT
16861    KindOf = PRELOAD SELECTABLE CAN_ATTACK DONT_AUTO_CRUSH_INFANTRY CAN_CAST_REFLECTIONS VEHICLE SALVAGER WEAPON_SALVAGER SCORE
16862  
16863    Body = ActiveBody ModuleTag_02
16864      MaxHealth       = 180.0
16865      InitialHealth   = 180.0
16866  
16867      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
16868      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
16869      SubdualDamageCap = 360
16870      SubdualDamageHealRate = 500
16871      SubdualDamageHealAmount = 50
16872    End
16873  
16874    Behavior = AIUpdateInterface ModuleTag_03
16875      Turret
16876        TurretTurnRate = 60   ; turn rate, in degrees per sec
16877        TurretPitchRate = 60
16878        FirePitch = 90  ; Instead of aiming pitchwise at the target, it will aim here
16879        AllowsPitch = Yes
16880        ControlledWeaponSlots = PRIMARY 
16881      End
16882      AutoAcquireEnemiesWhenIdle = No NotWhileAttacking
16883    End  
16884  
16885    Behavior = CommandButtonHuntUpdate  ModuleTag_04 ; allows use of command button hunt script with this unit. 
16886    End
16887  
16888    Locomotor = SET_NORMAL ScudLauncherLocomotor
16889    Behavior = PhysicsBehavior ModuleTag_05
16890      Mass = 40.0
16891    End
16892  
16893    Behavior = AutoHealBehavior ModuleTag_06
16894      HealingAmount = 2
16895      HealingDelay = 1000 ; msec
16896      TriggeredBy = Upgrade_GLAJunkRepair
16897    End
16898  
16899    Behavior = TransitionDamageFX ModuleTag_08
16900      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
16901      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_ScudLauncherDamageTransition
16902    End
16903  
16904    ; Catch fire, and explode death
16905    Behavior = SlowDeathBehavior ModuleTag_09
16906      DeathTypes = ALL -CRUSHED -SPLATTED
16907      ProbabilityModifier = 50
16908      DestructionDelay = 2000
16909      DestructionDelayVariance = 300
16910      FX  = INITIAL  FX_CrusaderCatchFire
16911      OCL = FINAL    OCL_SCUDLauncherDeathEffect  
16912      FX  = FINAL    FX_ScudLauncherExplosionOneFinal
16913    End
16914  
16915    ; A crushing defeat
16916    Behavior = FXListDie ModuleTag_10
16917      DeathTypes = NONE +CRUSHED +SPLATTED
16918      DeathFX = FX_CarCrush
16919    End
16920  
16921    Behavior = CreateObjectDie ModuleTag_11
16922      DeathTypes = NONE +CRUSHED +SPLATTED
16923      CreationList = OCL_CrusaderTank_CrushEffect
16924    End
16925  
16926    Behavior = FlammableUpdate ModuleTag_21
16927      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
16928      AflameDamageAmount = 3       ; taking this much damage...
16929      AflameDamageDelay = 500       ; this often.
16930    End
16931  
16932    Behavior = DestroyDie ModuleTag_22
16933      DeathTypes = NONE +CRUSHED +SPLATTED
16934    End
16935  
16936    Behavior = WeaponSetUpgrade ModuleTag_23
16937      TriggeredBy = Chem_Upgrade_GLAAnthraxGamma
16938    End
16939  
16940    Geometry = BOX
16941    GeometryMajorRadius = 14.0
16942    GeometryMinorRadius = 7.0
16943    GeometryHeight = 11.5     
16944    GeometryIsSmall = No
16945    Shadow = SHADOW_VOLUME   
16946    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length 
16947  
16948  End
16949  
16950  
16951  
16952  
16953  
16954  
16955  
16956  ; this unit is never really "built"; building one triggers the random building of
16957  ; one of the other chassis. If you want a *specific* chassis, choose it explicitly;
16958  ; if you want a chassis at random, specify this.
16959  Object Chem_GLAVehicleTechnical
16960  
16961    ; *** ART Parameters ***
16962    SelectPortrait         = SUTechnical_L 
16963    ButtonImage            = SUTechnical
16964  
16965    Draw = W3DModelDraw ModuleTag_01
16966      DefaultConditionState
16967        ; give it a model so it'll show up in WB
16968        Model = UVTechTrck
16969      End
16970    End
16971  
16972    ; set cost and time fields here or else they won't work
16973    BuildCost       = 500
16974    BuildTime       = 3.0          ;in seconds    
16975  
16976    ; Needed to get the Veterancy Overlays on top of the Technical with his build variations.
16977    ;------------------------------------------------------------
16978    Behavior = VeterancyGainCreate ModuleTag_03
16979      StartingLevel = VETERAN
16980      ScienceRequired = SCIENCE_TechnicalTraining
16981    End
16982  
16983    Side = GLAToxinGeneral
16984    EditorSorting = VEHICLE
16985    BuildVariations = GLAVehicleTechnicalChassisOne GLAVehicleTechnicalChassisTwo GLAVehicleTechnicalChassisThree
16986  
16987    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE TRANSPORT
16988  
16989  End
16990  
16991  ;------------------------------------------------------------------------------
16992  Object Chem_GLAVehicleTechnicalChassisOne
16993  
16994    ; *** ART Parameters ***
16995    SelectPortrait         = SUTechnical_L 
16996    ButtonImage            = SUTechnical
16997  
16998    UpgradeCameo1 = Upgrade_GLAAPBullets
16999    UpgradeCameo2 = Upgrade_GLAJunkRepair
17000    ;UpgradeCameo3 = NONE
17001    ;UpgradeCameo4 = NONE
17002    ;UpgradeCameo5 = NONE
17003  
17004    Draw = W3DTruckDraw ModuleTag_01
17005  
17006      ExtraPublicBone = Dum_Turret 
17007  
17008      DefaultConditionState
17009        Model         = UVTechTrck
17010      End
17011      ConditionState  = REALLYDAMAGED
17012        Model         = UVTechTrck_d
17013      End
17014      ConditionState  = RUBBLE
17015        Model         = UVTechTrck_d
17016      End
17017  
17018      OkToChangeModelColor        = Yes
17019      TrackMarks                  = EXTireTrack.tga
17020      Dust                        = TechnicalDust
17021      DirtSpray                   = RocketBuggyDirtSpray
17022      PowerslideSpray             = RocketBuggyDirtPowerSlide
17023  
17024      ; These parameters are only used if the model has a separate suspension, 
17025      ; and the locomotor has HasSuspension = Yes.
17026      LeftFrontTireBone           = Tire01
17027      RightFrontTireBone          = Tire02
17028      LeftRearTireBone            = Tire03
17029      RightRearTireBone           = Tire04
17030      TireRotationMultiplier      = 0.2        ; this * speed = rotation.
17031      PowerslideRotationAddition  = 2.5    ; This speed is added to the rotation speed when powersliding.
17032    End
17033  
17034    Draw = W3DModelDraw ModuleTag_02
17035  
17036      OkToChangeModelColor        = Yes
17037      AttachToBoneInAnotherModule = Dum_Turret
17038  
17039      ; ------------------ basic technical ------------------------
17040      DefaultConditionState
17041        Model = UITech_SKN
17042        Turret = Dum-TurManMVR
17043        TurretArtAngle = 180  ; this turret has art pointed 180 degrees backward
17044        HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03
17045        IdleAnimation = UITech_SKL.UITech_STA 0 6
17046        IdleAnimation = UITech_SKL.UITech_IDA
17047        IdleAnimation = UITech_SKL.UITech_IDB
17048        AnimationMode = ONCE
17049        ShowSubObject = 20Cal
17050        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17051        WeaponFireFXBone = PRIMARY Muzzle01
17052      End
17053  
17054      ConditionState = RUBBLE MOVING TURRET_ROTATE
17055        Animation = None
17056        HideSubObject = UITech-SKN
17057        ShowSubObject = 20Cal
17058        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17059        WeaponFireFXBone = PRIMARY Muzzle01
17060      End
17061  
17062      ConditionState = MOVING
17063        Animation = UITech_SKL.UITech_MVB
17064        AnimationMode = LOOP
17065        ShowSubObject = 20Cal
17066        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17067        WeaponFireFXBone = PRIMARY Muzzle01
17068      End
17069  
17070      ConditionState = TURRET_ROTATE
17071        Animation = UITech_SKL.UITech_TNA
17072        AnimationMode = LOOP
17073        ShowSubObject = 20Cal
17074        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17075        WeaponFireFXBone = PRIMARY Muzzle01
17076      End
17077      AliasConditionState = TURRET_ROTATE MOVING
17078      AliasConditionState = TURRET_ROTATE FIRING_A
17079      AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
17080      AliasConditionState = TURRET_ROTATE RELOADING_A
17081      AliasConditionState = TURRET_ROTATE MOVING FIRING_A
17082      AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
17083      AliasConditionState = TURRET_ROTATE MOVING RELOADING_A
17084  
17085      ConditionState = FIRING_A 
17086        Animation = UITech_SKL.UITech_ATA
17087        AnimationMode = LOOP
17088        ShowSubObject = 20Cal
17089        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17090        WeaponFireFXBone = PRIMARY Muzzle01
17091      End
17092  
17093      ; AliasConditionState is a new keyword that says,
17094      ; "give me another ConditionState exactly like the previous
17095      ; one, except with different conditions". Useful when you
17096      ; have several states that are the same with only different condition bits.
17097      AliasConditionState = BETWEEN_FIRING_SHOTS_A
17098      AliasConditionState = RELOADING_A
17099  
17100      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
17101      AliasConditionState = MOVING FIRING_A
17102      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
17103      AliasConditionState = MOVING RELOADING_A
17104  
17105      ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------
17106      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
17107        IdleAnimation = UITech_SKL.UITech_STA 0 6
17108        IdleAnimation = UITech_SKL.UITech_IDA
17109        IdleAnimation = UITech_SKL.UITech_IDB
17110        AnimationMode = ONCE
17111        ShowSubObject = 50Cal
17112        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17113        WeaponFireFXBone = PRIMARY Muzzle02
17114        WeaponLaunchBone = PRIMARY Muzzle02
17115      End
17116  
17117      ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE
17118        Animation = None
17119        HideSubObject = UITech-SKN
17120        ShowSubObject = 50Cal
17121        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17122        WeaponFireFXBone = PRIMARY Muzzle02
17123        WeaponLaunchBone = PRIMARY Muzzle02
17124      End
17125  
17126      ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE
17127        Animation = UITech_SKL.UITech_MVB
17128        AnimationMode = LOOP
17129        ShowSubObject = 50Cal
17130        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17131        WeaponFireFXBone = PRIMARY Muzzle02
17132        WeaponLaunchBone = PRIMARY Muzzle02
17133      End
17134  
17135      ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE
17136        Animation = UITech_SKL.UITech_TNA
17137        AnimationMode = LOOP
17138        ShowSubObject = 50Cal
17139        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17140        WeaponFireFXBone = PRIMARY Muzzle02
17141        WeaponLaunchBone = PRIMARY Muzzle02
17142      End
17143      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING
17144      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A
17145      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
17146      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A
17147      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A
17148      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
17149      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A
17150  
17151      ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A 
17152        Animation = UITech_SKL.UITech_ATA
17153        AnimationMode = LOOP
17154        ShowSubObject = 50Cal
17155        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17156        WeaponFireFXBone = PRIMARY Muzzle02
17157        WeaponLaunchBone = PRIMARY Muzzle02
17158      End
17159  
17160      ; AliasConditionState is a new keyword that says,
17161      ; "give me another ConditionState exactly like the previous
17162      ; one, except with different conditions". Useful when you
17163      ; have several states that are the same with only different condition bits.
17164      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A
17165      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A
17166  
17167      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
17168      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A
17169      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A
17170      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A
17171  
17172      ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------
17173      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
17174        IdleAnimation = UITech_SKL.UITech_STA 0 6
17175        IdleAnimation = UITech_SKL.UITech_IDA
17176        IdleAnimation = UITech_SKL.UITech_IDB
17177        AnimationMode = ONCE
17178        ShowSubObject = RPG
17179        WeaponFireFXBone = PRIMARY Muzzle03
17180        WeaponLaunchBone = PRIMARY Muzzle03
17181      End
17182  
17183      ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE
17184        Animation = None
17185        HideSubObject = UITech-SKN
17186        ShowSubObject = RPG
17187        WeaponFireFXBone = PRIMARY Muzzle03
17188        WeaponLaunchBone = PRIMARY Muzzle03
17189      End
17190  
17191      ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO
17192        Animation = UITech_SKL.UITech_MVB
17193        AnimationMode = LOOP
17194        ShowSubObject = RPG
17195        WeaponFireFXBone = PRIMARY Muzzle03
17196        WeaponLaunchBone = PRIMARY Muzzle03
17197      End
17198  
17199      ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE
17200        Animation = UITech_SKL.UITech_TNA
17201        AnimationMode = LOOP
17202        ShowSubObject = RPG
17203        WeaponFireFXBone = PRIMARY Muzzle03
17204        WeaponLaunchBone = PRIMARY Muzzle03
17205      End
17206      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING
17207      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A
17208      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
17209      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A
17210      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A
17211      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
17212      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A
17213  
17214      ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A 
17215        Animation = UITech_SKL.UITech_ATA
17216        AnimationMode = LOOP
17217        ShowSubObject = RPG
17218        WeaponFireFXBone = PRIMARY Muzzle03
17219        WeaponLaunchBone = PRIMARY Muzzle03
17220      End
17221  
17222      ; AliasConditionState is a new keyword that says,
17223      ; "give me another ConditionState exactly like the previous
17224      ; one, except with different conditions". Useful when you
17225      ; have several states that are the same with only different condition bits.
17226      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A
17227      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A
17228  
17229      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
17230      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A
17231      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A
17232      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A
17233  
17234    End
17235  
17236    ; ***DESIGN parameters ***
17237    DisplayName         = OBJECT:Technical
17238    Side                = GLAToxinGeneral
17239    EditorSorting       = VEHICLE
17240    TransportSlotCount  = 3                 ;how many "slots" we take in a transport (0 == not transportable)
17241  
17242    WeaponSet
17243      Conditions = None 
17244      Weapon = PRIMARY TechnicalMachineGunWeapon
17245    End
17246    WeaponSet
17247      Conditions = CRATEUPGRADE_ONE 
17248      Weapon = PRIMARY TechnicalCannonWeapon
17249    End
17250    WeaponSet
17251      Conditions = CRATEUPGRADE_TWO 
17252      Weapon = PRIMARY TechnicalRPGWeapon
17253    End
17254    ArmorSet
17255      Conditions      = None
17256      Armor           = TruckArmor
17257      DamageFX        = TruckDamageFX
17258    End
17259    ;update cost and time fields in Object GLAVehicleTechnical, or else they won't work
17260    ;BuildCost            = 300
17261    ;BuildTime            = 5.0          ;in seconds    
17262    VisionRange           = 150
17263    ShroudClearingRange   = 300
17264    Prerequisites
17265      Object = Chem_GLAArmsDealer
17266    End
17267  
17268    ExperienceValue         = 25 25 50 100    ;Experience point value at each level
17269    ExperienceRequired      = 0 50 75 150  ;Experience points needed to gain each level
17270    IsTrainable             = Yes             ;Can gain experience
17271    CrusherLevel            = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
17272    CrushableLevel          = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
17273    CommandSet              = GLAVehicleTechnicalCommandSet
17274  
17275    ; *** AUDIO Parameters ***
17276    VoiceSelect = TechnicalVoiceSelect
17277    VoiceMove = TechnicalVoiceMove
17278    VoiceGuard = TechnicalVoiceMove
17279    VoiceAttack = TechnicalVoiceAttack
17280    SoundMoveStart = TechnicalMoveStart
17281    SoundMoveStartDamaged = TechnicalMoveStart
17282    SoundEnter = HumveeEnter
17283    SoundExit = HumveeExit
17284  
17285    UnitSpecificSounds
17286    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
17287      VoiceCreate          = TechnicalVoiceCreate
17288      TurretMoveStart = NoSound
17289      TurretMoveLoop = TurretMoveLoop
17290      TruckLandingSound = RocketBuggyLand
17291      TruckPowerslideSound = RocketBuggyPowerslide
17292      VoiceSalvage = TechnicalVoiceSalvage
17293      VoiceCrush      = TechnicalVoiceCrush
17294      VoiceUnload     = TechnicalVoiceUnload
17295      VoiceEnter = TechnicalVoiceMove
17296    End
17297  
17298    ; *** ENGINEERING Parameters ***
17299    RadarPriority = UNIT
17300    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE TRANSPORT
17301  
17302    Behavior = VeterancyGainCreate ModuleTag_03
17303      StartingLevel = VETERAN
17304      ScienceRequired = SCIENCE_TechnicalTraining
17305    End
17306  
17307    Body = ActiveBody ModuleTag_04
17308      MaxHealth       = 180
17309      InitialHealth   = 180
17310  
17311      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
17312      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
17313      SubdualDamageCap = 360
17314      SubdualDamageHealRate = 500
17315      SubdualDamageHealAmount = 50
17316    End
17317    Behavior = AIUpdateInterface ModuleTag_05
17318      Turret
17319        TurretTurnRate = 240       ; turn rate, in degrees per sec
17320        NaturalTurretAngle = 0
17321        MinIdleScanAngle = 30      ; in degrees off the natural turret angle
17322        MaxIdleScanAngle = 60      ; in degrees off the natural turret angle
17323        MinIdleScanInterval = 5000 ; in milliseconds
17324        MaxIdleScanInterval = 10000 ; in milliseconds
17325        ControlledWeaponSlots = PRIMARY SECONDARY TERTIARY
17326      End
17327      AutoAcquireEnemiesWhenIdle = Yes
17328    End
17329    Locomotor = SET_NORMAL TechnicalLocomotor
17330    Behavior = PhysicsBehavior ModuleTag_06
17331      Mass = 40.0
17332    End
17333    Behavior = AutoHealBehavior ModuleTag_07
17334      HealingAmount = 2
17335      HealingDelay = 1000 ; msec
17336      TriggeredBy = Upgrade_GLAJunkRepair
17337    End
17338  
17339    Behavior = FlammableUpdate ModuleTag_09
17340      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
17341      AflameDamageAmount = 3       ; taking this much damage...
17342      AflameDamageDelay = 500       ; this often.
17343    End
17344  
17345    Behavior                 = TransitionDamageFX ModuleTag_10
17346      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
17347      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
17348    End
17349  
17350    Behavior = DestroyDie ModuleTag_11
17351      DeathTypes = NONE +CRUSHED +SPLATTED
17352    End
17353  
17354    ; A crushing defeat
17355    Behavior = FXListDie ModuleTag_12
17356      DeathTypes = NONE +CRUSHED +SPLATTED
17357      DeathFX = FX_CarCrush
17358    End
17359    Behavior = CreateObjectDie ModuleTag_13
17360      DeathTypes = NONE +CRUSHED +SPLATTED
17361      CreationList = OCL_TechnicalJeep_CrushEffect
17362    End
17363    Behavior = CreateCrateDie ModuleTag_14
17364      CrateData = SalvageCrateData
17365      ;CrateData = EliteTankCrateData
17366      ;CrateData = HeroicTankCrateData
17367    End
17368  
17369    Behavior = SlowDeathBehavior ModuleTag_15
17370      DeathTypes = ALL -CRUSHED -SPLATTED
17371      DestructionDelay = 500
17372      DestructionDelayVariance = 1500
17373      OCL = INITIAL OCL_TechnicalAirDeathStart
17374      FX = INITIAL FX_TechnicalAirDeathGroundPart
17375      OCL = FINAL OCL_RocketBuggyAirDeath
17376      FX = FINAL FX_RocketBuggyAirDeathAirPart    ; This happens in the air
17377    End
17378  
17379    Behavior = TransportContain ModuleTag_16
17380      Slots = 5
17381      AllowInsideKindOf   = INFANTRY
17382      DamagePercentToUnits = 10%
17383      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
17384     End
17385  
17386    Behavior = WeaponBonusUpgrade ModuleTag_17 ; Not a full weapon set switch, just a number tweak reflected in a weapon. 
17387      TriggeredBy = Upgrade_GLAAPBullets
17388    End 
17389  
17390    Geometry = BOX
17391    GeometryMajorRadius = 18.0
17392    GeometryMinorRadius = 9.0
17393    GeometryHeight = 7.5     
17394    GeometryIsSmall = No    
17395    Shadow = SHADOW_VOLUME
17396    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
17397  
17398  End
17399  
17400  ;------------------------------------------------------------------------------
17401  ObjectReskin Chem_GLAVehicleTechnicalChassisTwo Chem_GLAVehicleTechnicalChassisOne
17402  
17403    ; *** ART Parameters ***
17404    Draw = W3DTruckDraw ModuleTag_01
17405  
17406      ExtraPublicBone = Dum_Turret 
17407  
17408      DefaultConditionState
17409        Model = UVTechVan
17410      End
17411  
17412      ConditionState = REALLYDAMAGED
17413        Model = UVTechVan_d
17414      End
17415      ConditionState = RUBBLE
17416        Model = UVTechVan_d
17417      End
17418  
17419      OkToChangeModelColor = Yes
17420      TrackMarks = EXTireTrack.tga
17421      Dust = TechnicalDust
17422  
17423      ;DirtSpray = RocketBuggyDirtSpray
17424      PowerslideSpray = RocketBuggyDirtPowerSlide
17425  
17426      ; These parameters are only used if the model has a separate suspension, 
17427      ; and the locomotor has HasSuspension = Yes.
17428      LeftFrontTireBone = Tire01
17429      RightFrontTireBone = Tire02
17430      LeftRearTireBone = Tire03
17431      RightRearTireBone = Tire04
17432      TireRotationMultiplier = 0.2        ; this * speed = rotation.
17433      PowerslideRotationAddition = 2.5    ; This speed is added to the rotation speed when powersliding.
17434    End
17435  
17436    Draw = W3DModelDraw ModuleTag_02
17437      OkToChangeModelColor = Yes
17438      AttachToBoneInAnotherModule = Dum_Turret
17439  
17440      ; ------------------ basic technical ------------------------
17441      DefaultConditionState
17442        Model = UITech_SKN
17443        Turret = Dum-TurManMVR
17444        TurretArtAngle = 180  ; this turret has art pointed 180 degrees backward
17445        HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03
17446        IdleAnimation = UITech_SKL.UITech_STA 0 6
17447        IdleAnimation = UITech_SKL.UITech_IDA
17448        IdleAnimation = UITech_SKL.UITech_IDB
17449        AnimationMode = ONCE
17450        ShowSubObject = 20Cal
17451        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17452        WeaponFireFXBone = PRIMARY Muzzle01
17453      End
17454  
17455      ConditionState = RUBBLE MOVING TURRET_ROTATE
17456        Animation = None
17457        HideSubObject = UITech-SKN
17458        ShowSubObject = 20Cal
17459        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17460        WeaponFireFXBone = PRIMARY Muzzle01
17461      End
17462  
17463      ConditionState = MOVING
17464        Animation = UITech_SKL.UITech_MVB
17465        AnimationMode = LOOP
17466        ShowSubObject = 20Cal
17467        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17468        WeaponFireFXBone = PRIMARY Muzzle01
17469      End
17470  
17471      ConditionState = TURRET_ROTATE
17472        Animation = UITech_SKL.UITech_TNA
17473        AnimationMode = LOOP
17474        ShowSubObject = 20Cal
17475        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17476        WeaponFireFXBone = PRIMARY Muzzle01
17477      End
17478      AliasConditionState = TURRET_ROTATE MOVING
17479      AliasConditionState = TURRET_ROTATE FIRING_A
17480      AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
17481      AliasConditionState = TURRET_ROTATE RELOADING_A
17482      AliasConditionState = TURRET_ROTATE MOVING FIRING_A
17483      AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
17484      AliasConditionState = TURRET_ROTATE MOVING RELOADING_A
17485  
17486      ConditionState = FIRING_A 
17487        Animation = UITech_SKL.UITech_ATA
17488        AnimationMode = LOOP
17489        ShowSubObject = 20Cal
17490        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17491        WeaponFireFXBone = PRIMARY Muzzle01
17492      End
17493  
17494      ; AliasConditionState is a new keyword that says,
17495      ; "give me another ConditionState exactly like the previous
17496      ; one, except with different conditions". Useful when you
17497      ; have several states that are the same with only different condition bits.
17498      AliasConditionState = BETWEEN_FIRING_SHOTS_A
17499      AliasConditionState = RELOADING_A
17500  
17501      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
17502      AliasConditionState = MOVING FIRING_A
17503      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
17504      AliasConditionState = MOVING RELOADING_A
17505  
17506      ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------
17507      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
17508        IdleAnimation = UITech_SKL.UITech_STA 0 6
17509        IdleAnimation = UITech_SKL.UITech_IDA
17510        IdleAnimation = UITech_SKL.UITech_IDB
17511        AnimationMode = ONCE
17512        ShowSubObject = 50Cal
17513        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17514        WeaponFireFXBone = PRIMARY Muzzle02
17515        WeaponLaunchBone = PRIMARY Muzzle02
17516      End
17517  
17518      ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE
17519        Animation = None
17520        HideSubObject = UITech-SKN
17521        ShowSubObject = 50Cal
17522        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17523        WeaponFireFXBone = PRIMARY Muzzle02
17524        WeaponLaunchBone = PRIMARY Muzzle02
17525      End
17526  
17527      ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE
17528        Animation = UITech_SKL.UITech_MVB
17529        AnimationMode = LOOP
17530        ShowSubObject = 50Cal
17531        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17532        WeaponFireFXBone = PRIMARY Muzzle02
17533        WeaponLaunchBone = PRIMARY Muzzle02
17534      End
17535  
17536      ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE
17537        Animation = UITech_SKL.UITech_TNA
17538        AnimationMode = LOOP
17539        ShowSubObject = 50Cal
17540        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17541        WeaponFireFXBone = PRIMARY Muzzle02
17542        WeaponLaunchBone = PRIMARY Muzzle02
17543      End
17544      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING
17545      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A
17546      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
17547      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A
17548      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A
17549      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
17550      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A
17551  
17552      ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A
17553        Animation = UITech_SKL.UITech_ATA
17554        AnimationMode = LOOP
17555        ShowSubObject = 50Cal
17556        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17557        WeaponFireFXBone = PRIMARY Muzzle02
17558        WeaponLaunchBone = PRIMARY Muzzle02
17559      End
17560  
17561      ; AliasConditionState is a new keyword that says,
17562      ; "give me another ConditionState exactly like the previous
17563      ; one, except with different conditions". Useful when you
17564      ; have several states that are the same with only different condition bits.
17565      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A
17566      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A
17567  
17568      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
17569      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A
17570      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A
17571      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A
17572  
17573  
17574      ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------
17575      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
17576        IdleAnimation = UITech_SKL.UITech_STA 0 6
17577        IdleAnimation = UITech_SKL.UITech_IDA
17578        IdleAnimation = UITech_SKL.UITech_IDB
17579        AnimationMode = ONCE
17580        ShowSubObject = RPG
17581        WeaponFireFXBone = PRIMARY Muzzle03
17582        WeaponLaunchBone = PRIMARY Muzzle03
17583      End
17584  
17585      ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE
17586        Animation = None
17587        HideSubObject = UITech-SKN
17588        ShowSubObject = RPG
17589        WeaponFireFXBone = PRIMARY Muzzle03
17590        WeaponLaunchBone = PRIMARY Muzzle03
17591      End
17592  
17593      ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO
17594        Animation = UITech_SKL.UITech_MVB
17595        AnimationMode = LOOP
17596        ShowSubObject = RPG
17597        WeaponFireFXBone = PRIMARY Muzzle03
17598        WeaponLaunchBone = PRIMARY Muzzle03
17599      End
17600  
17601      ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE
17602        Animation = UITech_SKL.UITech_TNA
17603        AnimationMode = LOOP
17604        ShowSubObject = RPG
17605        WeaponFireFXBone = PRIMARY Muzzle03
17606        WeaponLaunchBone = PRIMARY Muzzle03
17607      End
17608      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING
17609      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A
17610      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
17611      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A
17612      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A
17613      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
17614      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A
17615  
17616      ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A
17617        Animation = UITech_SKL.UITech_ATA
17618        AnimationMode = LOOP
17619        ShowSubObject = RPG
17620        WeaponFireFXBone = PRIMARY Muzzle03
17621        WeaponLaunchBone = PRIMARY Muzzle03
17622      End
17623  
17624      ; AliasConditionState is a new keyword that says,
17625      ; "give me another ConditionState exactly like the previous
17626      ; one, except with different conditions". Useful when you
17627      ; have several states that are the same with only different condition bits.
17628      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A
17629      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A
17630  
17631      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
17632      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A
17633      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A
17634      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A
17635  
17636    End 
17637    
17638   ; Behavior = CreateObjectDie ModuleTag_13
17639   ;   DeathTypes = NONE +CRUSHED +SPLATTED
17640   ;   CreationList = OCL_TechnicalVan_CrushEffect
17641   ; End
17642  
17643    Geometry = BOX
17644    GeometryMajorRadius = 16.0
17645    GeometryMinorRadius = 8.0
17646    GeometryHeight = 7.5     
17647    GeometryIsSmall = Yes  
17648    
17649  
17650  End
17651  
17652  ;------------------------------------------------------------------------------
17653  ObjectReskin Chem_GLAVehicleTechnicalChassisThree Chem_GLAVehicleTechnicalChassisOne
17654  
17655    ; *** ART Parameters ***
17656    Draw = W3DTruckDraw ModuleTag_01
17657  
17658      ExtraPublicBone = Dum_Turret 
17659  
17660      DefaultConditionState
17661        Model = UVTechJeep
17662      End
17663  
17664      ConditionState = REALLYDAMAGED
17665        Model = UVTechJeep_d
17666      End
17667      ConditionState = RUBBLE
17668        Model = UVTechJeep_d
17669      End
17670  
17671      OkToChangeModelColor = Yes
17672      TrackMarks = EXTireTrack.tga
17673      Dust = TechnicalDust
17674  
17675      ;DirtSpray = RocketBuggyDirtSpray
17676      PowerslideSpray = RocketBuggyDirtPowerSlide
17677  
17678      ; These parameters are only used if the model has a separate suspension, 
17679      ; and the locomotor has HasSuspension = Yes.
17680      LeftFrontTireBone = Tire01
17681      RightFrontTireBone = Tire02
17682      LeftRearTireBone = Tire03
17683      RightRearTireBone = Tire04
17684      TireRotationMultiplier = 0.2        ; this * speed = rotation.
17685      PowerslideRotationAddition = 2.5    ; This speed is added to the rotation speed when powersliding.
17686    End
17687  
17688    Draw = W3DModelDraw ModuleTag_02
17689      OkToChangeModelColor = Yes
17690      AttachToBoneInAnotherModule = Dum_Turret
17691  
17692      ; ------------------ basic technical ------------------------
17693      DefaultConditionState
17694        Model = UITech_SKN
17695        Turret = Dum-TurManMVR
17696        TurretArtAngle = 180  ; this turret has art pointed 180 degrees backward
17697        HideSubObject = 20Cal 50Cal RPG MuzzleFX01 MuzzleFX02 MuzzleFX03
17698        IdleAnimation = UITech_SKL.UITech_STA 0 6
17699        IdleAnimation = UITech_SKL.UITech_IDA
17700        IdleAnimation = UITech_SKL.UITech_IDB
17701        AnimationMode = ONCE
17702        ShowSubObject = 20Cal
17703        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17704        WeaponFireFXBone = PRIMARY Muzzle01
17705      End
17706  
17707      ConditionState = RUBBLE MOVING TURRET_ROTATE
17708        Animation = None
17709        HideSubObject = UITech-SKN
17710        ShowSubObject = 20Cal
17711        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17712        WeaponFireFXBone = PRIMARY Muzzle01
17713      End
17714  
17715      ConditionState = MOVING
17716        Animation = UITech_SKL.UITech_MVB
17717        AnimationMode = LOOP
17718        ShowSubObject = 20Cal
17719        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17720        WeaponFireFXBone = PRIMARY Muzzle01
17721      End
17722  
17723      ConditionState = TURRET_ROTATE
17724        Animation = UITech_SKL.UITech_TNA
17725        AnimationMode = LOOP
17726        ShowSubObject = 20Cal
17727        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17728        WeaponFireFXBone = PRIMARY Muzzle01
17729      End
17730      AliasConditionState = TURRET_ROTATE MOVING
17731      AliasConditionState = TURRET_ROTATE FIRING_A
17732      AliasConditionState = TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
17733      AliasConditionState = TURRET_ROTATE RELOADING_A
17734      AliasConditionState = TURRET_ROTATE MOVING FIRING_A
17735      AliasConditionState = TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
17736      AliasConditionState = TURRET_ROTATE MOVING RELOADING_A
17737  
17738      ConditionState = FIRING_A
17739        Animation = UITech_SKL.UITech_ATA
17740        AnimationMode = LOOP
17741        ShowSubObject = 20Cal
17742        WeaponMuzzleFlash = PRIMARY MuzzleFX01
17743        WeaponFireFXBone = PRIMARY Muzzle01
17744      End
17745  
17746      ; AliasConditionState is a new keyword that says,
17747      ; "give me another ConditionState exactly like the previous
17748      ; one, except with different conditions". Useful when you
17749      ; have several states that are the same with only different condition bits.
17750      AliasConditionState = BETWEEN_FIRING_SHOTS_A
17751      AliasConditionState = RELOADING_A
17752  
17753      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
17754      AliasConditionState = MOVING FIRING_A
17755      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
17756      AliasConditionState = MOVING RELOADING_A
17757  
17758      ; ------------------ technical with WEAPONSET_CRATEUPGRADE_ONE ------------------------
17759      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
17760        IdleAnimation = UITech_SKL.UITech_STA 0 6
17761        IdleAnimation = UITech_SKL.UITech_IDA
17762        IdleAnimation = UITech_SKL.UITech_IDB
17763        AnimationMode = ONCE
17764        ShowSubObject = 50Cal
17765        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17766        WeaponFireFXBone = PRIMARY Muzzle02
17767        WeaponLaunchBone = PRIMARY Muzzle02
17768      End
17769  
17770      ConditionState = WEAPONSET_CRATEUPGRADE_ONE RUBBLE MOVING TURRET_ROTATE
17771        Animation = None
17772        HideSubObject = UITech-SKN
17773        ShowSubObject = 50Cal
17774        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17775        WeaponFireFXBone = PRIMARY Muzzle02
17776        WeaponLaunchBone = PRIMARY Muzzle02
17777      End
17778  
17779      ConditionState = MOVING WEAPONSET_CRATEUPGRADE_ONE
17780        Animation = UITech_SKL.UITech_MVB
17781        AnimationMode = LOOP
17782        ShowSubObject = 50Cal
17783        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17784        WeaponFireFXBone = PRIMARY Muzzle02
17785        WeaponLaunchBone = PRIMARY Muzzle02
17786      End
17787  
17788      ConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE
17789        Animation = UITech_SKL.UITech_TNA
17790        AnimationMode = LOOP
17791        ShowSubObject = 50Cal
17792        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17793        WeaponFireFXBone = PRIMARY Muzzle02
17794        WeaponLaunchBone = PRIMARY Muzzle02
17795      End
17796      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING
17797      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE FIRING_A
17798      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
17799      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE RELOADING_A
17800      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING FIRING_A
17801      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
17802      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE TURRET_ROTATE MOVING RELOADING_A
17803  
17804      ConditionState = WEAPONSET_CRATEUPGRADE_ONE FIRING_A
17805        Animation = UITech_SKL.UITech_ATA
17806        AnimationMode = LOOP
17807        ShowSubObject = 50Cal
17808        WeaponMuzzleFlash = PRIMARY MuzzleFX02
17809        WeaponFireFXBone = PRIMARY Muzzle02
17810        WeaponLaunchBone = PRIMARY Muzzle02
17811      End
17812  
17813      ; AliasConditionState is a new keyword that says,
17814      ; "give me another ConditionState exactly like the previous
17815      ; one, except with different conditions". Useful when you
17816      ; have several states that are the same with only different condition bits.
17817      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE BETWEEN_FIRING_SHOTS_A
17818      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE RELOADING_A
17819  
17820      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
17821      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING FIRING_A
17822      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING BETWEEN_FIRING_SHOTS_A
17823      AliasConditionState = WEAPONSET_CRATEUPGRADE_ONE MOVING RELOADING_A
17824  
17825      ; ------------------ technical with WEAPONSET_CRATEUPGRADE_TWO ------------------------
17826      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
17827        IdleAnimation = UITech_SKL.UITech_STA 0 6
17828        IdleAnimation = UITech_SKL.UITech_IDA
17829        IdleAnimation = UITech_SKL.UITech_IDB
17830        AnimationMode = ONCE
17831        ShowSubObject = RPG
17832        WeaponFireFXBone = PRIMARY Muzzle03
17833        WeaponLaunchBone = PRIMARY Muzzle03
17834      End
17835  
17836      ConditionState = WEAPONSET_CRATEUPGRADE_TWO RUBBLE MOVING TURRET_ROTATE
17837        Animation = None
17838        HideSubObject = UITech-SKN
17839        ShowSubObject = RPG
17840        WeaponFireFXBone = PRIMARY Muzzle03
17841        WeaponLaunchBone = PRIMARY Muzzle03
17842      End
17843  
17844      ConditionState = MOVING WEAPONSET_CRATEUPGRADE_TWO
17845        Animation = UITech_SKL.UITech_MVB
17846        AnimationMode = LOOP
17847        ShowSubObject = RPG
17848        WeaponFireFXBone = PRIMARY Muzzle03
17849        WeaponLaunchBone = PRIMARY Muzzle03
17850      End
17851  
17852      ConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE
17853        Animation = UITech_SKL.UITech_TNA
17854        AnimationMode = LOOP
17855        ShowSubObject = RPG
17856        WeaponFireFXBone = PRIMARY Muzzle03
17857        WeaponLaunchBone = PRIMARY Muzzle03
17858      End
17859      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING
17860      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE FIRING_A
17861      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE BETWEEN_FIRING_SHOTS_A
17862      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE RELOADING_A
17863      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING FIRING_A
17864      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING BETWEEN_FIRING_SHOTS_A
17865      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO TURRET_ROTATE MOVING RELOADING_A
17866  
17867      ConditionState = WEAPONSET_CRATEUPGRADE_TWO FIRING_A
17868        Animation = UITech_SKL.UITech_ATA
17869        AnimationMode = LOOP
17870        ShowSubObject = RPG
17871        WeaponFireFXBone = PRIMARY Muzzle03
17872        WeaponLaunchBone = PRIMARY Muzzle03
17873      End
17874  
17875      ; AliasConditionState is a new keyword that says,
17876      ; "give me another ConditionState exactly like the previous
17877      ; one, except with different conditions". Useful when you
17878      ; have several states that are the same with only different condition bits.
17879      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO BETWEEN_FIRING_SHOTS_A
17880      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO RELOADING_A
17881  
17882      ; these aliases handle the moving-between-shots case. (we can't actually move-and-fire at the same time.).
17883      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING FIRING_A
17884      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING BETWEEN_FIRING_SHOTS_A
17885      AliasConditionState = WEAPONSET_CRATEUPGRADE_TWO MOVING RELOADING_A
17886  
17887    End  
17888    
17889   ; Behavior = CreateObjectDie ModuleTag_13
17890   ;   DeathTypes = NONE +CRUSHED +SPLATTED
17891   ;   CreationList = OCL_TechnicalJeep_CrushEffect
17892   ; End
17893    
17894    Geometry = BOX
17895    GeometryMajorRadius = 14.0
17896    GeometryMinorRadius = 9.0
17897    GeometryHeight = 9.5     
17898    GeometryIsSmall = Yes    
17899    
17900  
17901  End
17902  
17903  
17904  
17905  
17906  
17907  
17908  ;------------------------------------------------------------------------------
17909  ;The Marauder Tank, for the Warlord General.  
17910  Object Chem_GLATankMarauder
17911  
17912    ; *** ART Parameters ***
17913    SelectPortrait         = SUMarauder_L
17914    ButtonImage            = SUMarauder
17915    
17916    UpgradeCameo1 = Upgrade_GLAToxinShells
17917    UpgradeCameo2 = Upgrade_GLAJunkRepair
17918    ;UpgradeCameo3 = NONE
17919    ;UpgradeCameo4 = NONE
17920    ;UpgradeCameo5 = NONE
17921    
17922    Draw = W3DTankDraw ModuleTag_01
17923      OkToChangeModelColor = Yes
17924  
17925  ; no crate upgrade
17926      ConditionState = NONE
17927        Model = UVMarauder
17928        Turret = Turret
17929        ShowSubObject = Turret
17930        HideSubObject = TurretUp01 TurretUp02 BarrelFX01 ; Since we are showing one of three turrets, we need to then hide the subobject muzzleflash
17931        WeaponFireFXBone = PRIMARY BarrelMS
17932        WeaponRecoilBone = PRIMARY Barrel
17933        WeaponMuzzleFlash = PRIMARY BarrelFX
17934        WeaponLaunchBone = PRIMARY BarrelMS
17935      End
17936  
17937      ConditionState = REALLYDAMAGED
17938        Model = UVMarauder_d
17939        Turret = Turret
17940        ShowSubObject = Turret
17941        HideSubObject = TurretUp01 TurretUp02 BarrelFX01
17942        WeaponFireFXBone = PRIMARY BarrelMS
17943        WeaponRecoilBone = PRIMARY Barrel
17944        WeaponMuzzleFlash = PRIMARY BarrelFX
17945        WeaponLaunchBone = PRIMARY BarrelMS
17946      End
17947  
17948      ConditionState = RUBBLE
17949        Model = UVMarauder_d
17950        Turret = Turret
17951        ShowSubObject = Turret
17952        HideSubObject = TurretUp01 TurretUp02 BarrelFX01
17953        WeaponFireFXBone = PRIMARY BarrelMS
17954        WeaponRecoilBone = PRIMARY Barrel
17955        WeaponMuzzleFlash = PRIMARY BarrelFX
17956        WeaponLaunchBone = PRIMARY BarrelMS
17957      End
17958  
17959  ; crate upgrade 1
17960      ConditionState = WEAPONSET_CRATEUPGRADE_ONE
17961        Model = UVMarauder
17962        Turret = TurretUp01
17963        ShowSubObject = TurretUp01
17964        HideSubObject = Turret TurretUp02 BarrelUp01FX01
17965        WeaponFireFXBone = PRIMARY BarrelUp01MS
17966        WeaponRecoilBone = PRIMARY BarrelUp01
17967        WeaponMuzzleFlash = PRIMARY BarrelUp01FX
17968        WeaponLaunchBone = PRIMARY BarrelUp01MS
17969      End
17970  
17971      ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_ONE
17972        Model = UVMarauder_d
17973        Turret = TurretUp01
17974        ShowSubObject = TurretUp01
17975        HideSubObject = Turret TurretUp02 BarrelUp01FX01
17976        WeaponFireFXBone = PRIMARY BarrelUp01MS
17977        WeaponRecoilBone = PRIMARY BarrelUp01
17978        WeaponMuzzleFlash = PRIMARY BarrelUp01FX
17979        WeaponLaunchBone = PRIMARY BarrelUp01MS
17980      End
17981  
17982      ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_ONE
17983        Model = UVMarauder_d
17984        Turret = TurretUp01
17985        ShowSubObject = TurretUp01
17986        HideSubObject = Turret TurretUp02 BarrelUp01FX01
17987        WeaponFireFXBone = PRIMARY BarrelUp01MS
17988        WeaponRecoilBone = PRIMARY BarrelUp01
17989        WeaponMuzzleFlash = PRIMARY BarrelUp01FX
17990        WeaponLaunchBone = PRIMARY BarrelUp01MS
17991      End
17992  
17993  ; crate upgrade 2
17994      ConditionState = WEAPONSET_CRATEUPGRADE_TWO
17995        Model = UVMarauder
17996        Turret = TurretUp02
17997        ShowSubObject = TurretUp02
17998        HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02
17999        WeaponFireFXBone = PRIMARY BarrelUp02MS
18000        WeaponRecoilBone = PRIMARY BarrelUp02
18001        WeaponMuzzleFlash = PRIMARY BarrelUp02FX
18002        WeaponLaunchBone = PRIMARY BarrelUp02MS
18003      End
18004  
18005      ConditionState = REALLYDAMAGED WEAPONSET_CRATEUPGRADE_TWO
18006        Model = UVMarauder_d
18007        Turret = TurretUp02
18008        ShowSubObject = TurretUp02
18009        HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02
18010        WeaponFireFXBone = PRIMARY BarrelUp02MS
18011        WeaponRecoilBone = PRIMARY BarrelUp02
18012        WeaponMuzzleFlash = PRIMARY BarrelUp02FX
18013        WeaponLaunchBone = PRIMARY BarrelUp02MS
18014      End
18015  
18016      ConditionState = RUBBLE WEAPONSET_CRATEUPGRADE_TWO
18017        Model = UVMarauder_d
18018        Turret = TurretUp02
18019        ShowSubObject = TurretUp02
18020        HideSubObject = Turret TurretUp01 BarrelUp02FX01 BarrelUp02FX02
18021        WeaponFireFXBone = PRIMARY BarrelUp02MS
18022        WeaponRecoilBone = PRIMARY BarrelUp02
18023        WeaponMuzzleFlash = PRIMARY BarrelUp02FX
18024        WeaponLaunchBone = PRIMARY BarrelUp02MS
18025      End
18026  
18027      TrackMarks = EXTnkTrack.tga
18028      TreadAnimationRate = 2.0;  amount of tread texture to move per second
18029      TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
18030      TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
18031  
18032    End
18033  
18034    ; ***DESIGN parameters ***
18035    DisplayName           = OBJECT:Marauder
18036    Side                  = GLAToxinGeneral
18037    EditorSorting         = VEHICLE
18038    TransportSlotCount    = 3                 ;how many "slots" we take in a transport (0 == not transportable)
18039    WeaponSet
18040      Conditions = None 
18041      Weapon = PRIMARY MarauderTankGun
18042    End
18043    WeaponSet
18044      Conditions = CRATEUPGRADE_ONE
18045      Weapon = PRIMARY MarauderTankGunUpgradeOne
18046  
18047    End
18048    WeaponSet
18049      Conditions = CRATEUPGRADE_TWO 
18050      Weapon = PRIMARY MarauderTankGunUpgradeTwo
18051    End
18052    ArmorSet
18053      Conditions      = None
18054      Armor           = TankArmor
18055      DamageFX        = TankDamageFX
18056    End
18057    BuildCost       = 900
18058    BuildTime       = 10.0          ;in seconds    
18059    VisionRange     = 125
18060    ShroudClearingRange = 300
18061    Prerequisites
18062      Object = Chem_GLAArmsDealer
18063      Science = SCIENCE_MarauderTank
18064    End
18065  
18066    ExperienceValue = 100 100 200 300    ;Experience point value at each level
18067    ExperienceRequired = 0 200 300 600  ;Experience points needed to gain each level
18068    IsTrainable = Yes             ;Can gain experience
18069    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
18070    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
18071    CommandSet           = GLATankMarauderCommandSet
18072  
18073    ; *** AUDIO Parameters ***
18074    VoiceSelect = MarauderTankVoiceSelect
18075    VoiceMove = MarauderTankVoiceMove
18076    VoiceGuard = MarauderTankVoiceMove
18077    VoiceAttack = MarauderTankVoiceAttack
18078    SoundMoveStart = MarauderTankMoveStart
18079    SoundMoveStartDamaged = MarauderTankMoveStart
18080  
18081    UnitSpecificSounds
18082      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
18083      VoiceCreate     = MarauderTankVoiceCreate
18084      ;TurretMoveStart = NoSound
18085      TurretMoveLoop = TurretMoveLoop
18086      VoiceSalvage = MarauderTankVoiceSalvage      
18087      VoiceCrush = MarauderTankVoiceCrush
18088      VoiceEnter = MarauderTankVoiceMove
18089    End
18090  
18091    ; *** ENGINEERING Parameters ***
18092    RadarPriority = UNIT
18093    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SALVAGER WEAPON_SALVAGER VEHICLE SCORE
18094  
18095    Body = ActiveBody ModuleTag_02
18096      MaxHealth       = 430.0
18097      InitialHealth   = 430.0
18098  
18099      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
18100      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
18101      SubdualDamageCap = 860
18102      SubdualDamageHealRate = 500
18103      SubdualDamageHealAmount = 50
18104    End
18105  
18106    Behavior = AIUpdateInterface ModuleTag_03
18107      AutoAcquireEnemiesWhenIdle = Yes
18108    End
18109    Locomotor = SET_NORMAL MarauderLocomotor
18110    Behavior = PhysicsBehavior ModuleTag_04
18111      Mass = 50.0
18112    End
18113    Behavior = AutoHealBehavior ModuleTag_05
18114      HealingAmount = 2
18115      HealingDelay = 1000 ; msec
18116      TriggeredBy = Upgrade_GLAJunkRepair
18117    End
18118  
18119    ; Catch fire, and explode death
18120    Behavior = SlowDeathBehavior ModuleTag_06
18121      DeathTypes = ALL -CRUSHED -SPLATTED
18122      ProbabilityModifier = 50
18123      DestructionDelay = 1000
18124      DestructionDelayVariance = 300
18125      FX  = INITIAL  FX_CrusaderCatchFire
18126      OCL = FINAL    OCL_MarauderTankDeathEffect  
18127      FX  = FINAL    FX_BattleMasterExplosionOneFinal
18128    End
18129  
18130  
18131    Behavior = CreateCrateDie ModuleTag_07
18132      CrateData = SalvageCrateData
18133      ;CrateData = EliteTankCrateData
18134      ;CrateData = HeroicTankCrateData
18135    End
18136    
18137    Behavior                 = TransitionDamageFX ModuleTag_08
18138      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
18139      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
18140    End
18141    
18142    ; A crushing defeat
18143    Behavior = FXListDie ModuleTag_09
18144      DeathTypes = NONE +CRUSHED +SPLATTED
18145      DeathFX = FX_CarCrush
18146    End
18147  
18148    Behavior = FlammableUpdate ModuleTag_21
18149      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
18150      AflameDamageAmount = 3       ; taking this much damage...
18151      AflameDamageDelay = 500       ; this often.
18152    End
18153  
18154  ; Units that can gain experience can't have GrantUpgradeCreate or they crash savegames.
18155  ;  Behavior = GrantUpgradeCreate ModuleTag_22
18156  ;    UpgradeToGrant     = Upgrade_GLAToxinShells
18157  ;  End
18158  ;
18159  ;  Behavior = GrantUpgradeCreate ModuleTag_23
18160  ;    UpgradeToGrant = Upgrade_GLAAnthraxBeta
18161  ;  End
18162  
18163    Geometry = BOX
18164    GeometryMajorRadius = 17.0
18165    GeometryMinorRadius = 10.0
18166    GeometryHeight = 9.5     
18167    GeometryIsSmall = Yes 
18168    Shadow = SHADOW_VOLUME   
18169    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
18170  
18171  End
18172  
18173  
18174  
18175  ;------------------------------------------------------------------------------
18176  ;GLA Radar Van
18177  Object Chem_GLAVehicleRadarVan
18178  
18179    ; *** ART Parameters ***
18180    SelectPortrait         = SURadarVan_L
18181    ButtonImage            = SURadarVan
18182    
18183    UpgradeCameo1 = Upgrade_GLARadarVanScan
18184    UpgradeCameo2 = Upgrade_GLAJunkRepair
18185    ;UpgradeCameo3 = NONE
18186    ;UpgradeCameo4 = NONE
18187    ;UpgradeCameo5 = NONE
18188    
18189    Draw = W3DTruckDraw ModuleTag_01
18190      OkToChangeModelColor = Yes
18191  
18192      DefaultConditionState
18193        Model = UVRadarVan
18194        Animation = UVRadarVan.UVRadarVan
18195        AnimationMode = LOOP
18196      End
18197      
18198      ConditionState = REALLYDAMAGED
18199        Model = UVRadarVan_D
18200        Animation = UVRadarVan_D.UVRadarVan_D
18201        AnimationMode = LOOP
18202      End
18203      
18204      ConditionState = RUBBLE
18205        Model = UVRadarVan_D
18206        Animation = UVRadarVan_D.UVRadarVan_D
18207        AnimationMode = LOOP
18208      End
18209      
18210      TrackMarks = EXTireTrack.tga
18211      
18212      ; These parameters are only used if the model has a separate suspension, 
18213      ; and the locomotor has HasSuspension = Yes.
18214      LeftFrontTireBone = Tire01
18215      RightFrontTireBone = Tire02
18216      LeftRearTireBone = Tire03
18217      RightRearTireBone = Tire04
18218      TireRotationMultiplier = 0.2   ; this * speed = rotation.
18219      PowerslideRotationAddition = 2.5   ; This speed is added to the rotation speed when powersliding.
18220    End
18221  
18222    ; ***DESIGN parameters ***
18223    DisplayName      = OBJECT:RadarVan
18224    Side = GLAToxinGeneral
18225    EditorSorting   = VEHICLE
18226    TransportSlotCount = 3                 ;how many "slots" we take in a transport (0 == not transportable)
18227    ArmorSet
18228      Conditions      = None
18229      Armor           = TruckArmor
18230      DamageFX        = TankDamageFX
18231    End
18232    BuildCost       = 550
18233    BuildTime       = 10.0          ;in seconds    
18234    VisionRange     = 200
18235    ShroudClearingRange = 500
18236    Prerequisites
18237      Object = Chem_GLAArmsDealer
18238    End
18239    IsTrainable = No
18240    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
18241    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
18242    CommandSet      = GLAVehicleRadarVanCommandSet
18243  
18244    ; *** AUDIO Parameters ***
18245    VoiceSelect = RadarVanVoiceSelect
18246    VoiceMove = RadarVanVoiceMove
18247    VoiceAttack = RadarVanVoiceMove
18248    SoundMoveStart = RadarVanMoveStart
18249    SoundMoveStartDamaged = RadarVanMoveStart
18250  
18251    UnitSpecificSounds
18252      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
18253      VoiceCreate     = RadarVanVoiceCreate
18254      TurretMoveStart = NoSound
18255      TurretMoveLoop = TurretMoveLoop  
18256    ; Required for the W3DTruckDraw module
18257      TruckLandingSound = NoSound ;RocketBuggyLand
18258      TruckPowerslideSound = NoSound ;RocketBuggyPowerslide
18259      VoiceCrush      = RadarVanVoiceCrush
18260      VoiceEnter = RadarVanVoiceMove
18261    End
18262  
18263    ; *** ENGINEERING Parameters ***
18264    RadarPriority = UNIT
18265    KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS VEHICLE SALVAGER SCORE IGNORES_SELECT_ALL
18266  
18267    Body = ActiveBody ModuleTag_02
18268      MaxHealth       = 200
18269      InitialHealth   = 200
18270  
18271      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
18272      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
18273      SubdualDamageCap = 400
18274      SubdualDamageHealRate = 500
18275      SubdualDamageHealAmount = 50
18276    End
18277  
18278    ExperienceValue     = 20 20 20 20  ; Experience point value at each level
18279  
18280    Behavior = GrantUpgradeCreate ModuleTag_03
18281      UpgradeToGrant     = Upgrade_GLARadar
18282    End
18283    Behavior        = RadarUpgrade ModuleTag_05
18284      TriggeredBy   = Upgrade_GLARadar
18285      DisableProof  = Yes ; Won't be disabled by power low
18286    End
18287  
18288    Behavior           = OCLSpecialPower ModuleTag_06
18289      SpecialPowerTemplate = SpecialPowerRadarVanScan
18290      OCL                  = SUPERWEAPON_RadarVanScan
18291      CreateLocation       = CREATE_AT_LOCATION
18292      StartsPaused         = Yes ; Unpaused by upgrade module
18293    End
18294  
18295    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_07
18296      SpecialPowerTemplate = SpecialPowerRadarVanScan
18297      TriggeredBy = Upgrade_GLARadarVanScan
18298    End
18299  
18300    Behavior = AutoHealBehavior ModuleTag_08
18301      HealingAmount = 2
18302      HealingDelay = 1000 ; msec
18303      TriggeredBy = Upgrade_GLAJunkRepair
18304    End
18305  
18306    Behavior = AIUpdateInterface ModuleTag_09
18307      Turret
18308        TurretTurnRate = 100
18309        ControlledWeaponSlots = PRIMARY
18310      End
18311    End
18312    Locomotor = SET_NORMAL RadarVanLocomotor
18313  
18314    Behavior = PhysicsBehavior ModuleTag_10
18315      Mass = 50.0
18316    End
18317  
18318  ; The default explosion
18319    Behavior = SlowDeathBehavior  ModuleTag_11
18320      DeathTypes = ALL -CRUSHED -SPLATTED
18321      ProbabilityModifier = 5
18322      ModifierBonusPerOverkillPercent = 20%  ; negative means less likely to pick this in the face of much damage, positive means more likely
18323      DestructionDelay = 0
18324      DestructionDelayVariance = 200
18325      FX = FINAL FX_BuggyNewDeathExplosion
18326      OCL = FINAL OCL_RadarVanDeathEffect
18327    End
18328  
18329  
18330    Behavior = FlammableUpdate ModuleTag_13
18331      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
18332      AflameDamageAmount = 3       ; taking this much damage...
18333      AflameDamageDelay = 500       ; this often.
18334    End
18335  
18336    Behavior = DestroyDie ModuleTag_14
18337      DeathTypes = NONE +CRUSHED +SPLATTED
18338    End
18339    Behavior = CreateCrateDie ModuleTag_15
18340      CrateData = SalvageCrateData
18341      ;CrateData = EliteTankCrateData
18342      ;CrateData = HeroicTankCrateData
18343    End
18344  
18345    Behavior = StealthDetectorUpdate ModuleTag_16
18346      DetectionRate   = 500   ; how often to rescan for stealthed things in my sight (msec)
18347      ;DetectionRange = ??? ;Dustin, enable this for independant balancing!
18348      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
18349      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
18350    End
18351  
18352    ; A crushing defeat
18353    Behavior = FXListDie ModuleTag_17
18354      DeathTypes = NONE +CRUSHED +SPLATTED
18355      DeathFX = FX_CarCrush
18356    End
18357    Behavior = CreateObjectDie ModuleTag_18
18358      DeathTypes = NONE +CRUSHED +SPLATTED
18359      CreationList = OCL_CrusaderTank_CrushEffect
18360    End
18361  
18362    Behavior                 = TransitionDamageFX ModuleTag_19
18363      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
18364      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_CrusaderDamageTransition
18365    End
18366    
18367    Geometry = BOX
18368    GeometryMajorRadius = 16.0
18369    GeometryMinorRadius = 6.0
18370    GeometryHeight = 12.5     
18371    GeometryIsSmall = Yes    
18372    Shadow = SHADOW_VOLUME
18373    ShadowSizeX = 45  ;minimum elevation angle above horizon. Used to limit shadow length
18374  
18375  End
18376  
18377  ;------------------------------------------------------------------------------
18378  Object Chem_GLAVehicleBattleBus
18379  
18380    ; *** ART Parameters ***
18381    SelectPortrait         = SUbattlebus_L
18382    ButtonImage            = SUbattlebus
18383    
18384    UpgradeCameo1 = Upgrade_GLAJunkRepair
18385    
18386    
18387    Draw = W3DTruckDraw ModuleTag_01
18388      OkToChangeModelColor = Yes
18389      TrackMarks = EXTireTrack.tga
18390      ExtraPublicBone = BUSUP01
18391      ExtraPublicBone = BUSUP02
18392      
18393      DefaultConditionState
18394        Model = UVBATTBUS
18395        HideSubObject = BUSUP01 BUSUP02
18396        Animation = UVBATTBUS.UVBATTBUS
18397        AnimationMode = MANUAL
18398      End
18399      ConditionState = MOVING
18400        Model = UVBATTBUS
18401        Animation = UVBATTBUS.UVBATTBUS
18402        AnimationMode = LOOP
18403      End
18404  
18405      ConditionState = REALLYDAMAGED
18406        Model = UVBATTBUS_D
18407        Animation = UVBATTBUS_D.UVBATTBUS_D
18408        AnimationMode = MANUAL
18409      End
18410      ConditionState = REALLYDAMAGED MOVING
18411        Model = UVBATTBUS_D
18412        Animation = UVBATTBUS_D.UVBATTBUS_D
18413        AnimationMode = LOOP
18414      End
18415  
18416      ConditionState = SECOND_LIFE ; Set after our first death, natch
18417        Model = UVBATTBUS_D1
18418        Animation = UVBATTBUS_D1.UVBATTBUS_D1
18419        AnimationMode = MANUAL
18420      End
18421      AliasConditionState = REALLYDAMAGED SECOND_LIFE
18422      AliasConditionState = RUBBLE SECOND_LIFE
18423      
18424      ConditionState = RUBBLE
18425        Model = UVBATTBUS_D
18426      End
18427  
18428  ;--------- One crates
18429      ConditionState = ARMORSET_CRATEUPGRADE_ONE
18430        Model = UVBATTBUS
18431        ShowSubObject = BUSUP01
18432        HideSubObject = BUSUP02
18433        Animation = UVBATTBUS.UVBATTBUS
18434        AnimationMode = MANUAL
18435      End
18436      ConditionState = MOVING ARMORSET_CRATEUPGRADE_ONE
18437        Model = UVBATTBUS
18438        ShowSubObject = BUSUP01
18439        HideSubObject = BUSUP02
18440        Animation = UVBATTBUS.UVBATTBUS
18441        AnimationMode = LOOP
18442      End
18443  
18444      ConditionState = REALLYDAMAGED ARMORSET_CRATEUPGRADE_ONE
18445        Model = UVBATTBUS_D
18446        ShowSubObject = BUSUP01
18447        HideSubObject = BUSUP02
18448        Animation = UVBATTBUS_D.UVBATTBUS_D
18449        AnimationMode = MANUAL
18450      End
18451      ConditionState = REALLYDAMAGED MOVING ARMORSET_CRATEUPGRADE_ONE
18452        Model = UVBATTBUS_D
18453        ShowSubObject = BUSUP01
18454        HideSubObject = BUSUP02
18455        Animation = UVBATTBUS_D.UVBATTBUS_D
18456        AnimationMode = LOOP
18457      End
18458  
18459      ConditionState = SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE
18460        Model = UVBATTBUS_D1
18461        ShowSubObject = BUSUP01
18462        HideSubObject = BUSUP02
18463        Animation = UVBATTBUS_D1.UVBATTBUS_D1
18464        AnimationMode = MANUAL
18465      End
18466      AliasConditionState = REALLYDAMAGED SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE
18467      AliasConditionState = RUBBLE SECOND_LIFE ARMORSET_CRATEUPGRADE_ONE
18468      
18469      ConditionState = RUBBLE ARMORSET_CRATEUPGRADE_ONE
18470        Model = UVBATTBUS_D
18471        ShowSubObject = BUSUP01
18472        HideSubObject = BUSUP02
18473      End
18474  
18475  ;--------- Two crates
18476      ConditionState = ARMORSET_CRATEUPGRADE_TWO
18477        Model = UVBATTBUS
18478        ShowSubObject = BUSUP01 BUSUP02
18479        Animation = UVBATTBUS.UVBATTBUS
18480        AnimationMode = MANUAL
18481      End
18482      ConditionState = MOVING ARMORSET_CRATEUPGRADE_TWO
18483        Model = UVBATTBUS
18484        ShowSubObject = BUSUP01 BUSUP02
18485        Animation = UVBATTBUS.UVBATTBUS
18486        AnimationMode = LOOP
18487      End
18488  
18489      ConditionState = REALLYDAMAGED ARMORSET_CRATEUPGRADE_TWO
18490        Model = UVBATTBUS_D
18491        ShowSubObject = BUSUP01 BUSUP02
18492        Animation = UVBATTBUS_D.UVBATTBUS_D
18493        AnimationMode = MANUAL
18494      End
18495      ConditionState = REALLYDAMAGED MOVING ARMORSET_CRATEUPGRADE_TWO
18496        Model = UVBATTBUS_D
18497        ShowSubObject = BUSUP01 BUSUP02
18498        Animation = UVBATTBUS_D.UVBATTBUS_D
18499        AnimationMode = LOOP
18500      End
18501  
18502      ConditionState = SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO
18503        Model = UVBATTBUS_D1
18504        ShowSubObject = BUSUP01 BUSUP02
18505        Animation = UVBATTBUS_D1.UVBATTBUS_D1
18506        AnimationMode = MANUAL
18507      End
18508      AliasConditionState = REALLYDAMAGED SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO 
18509      AliasConditionState = RUBBLE SECOND_LIFE ARMORSET_CRATEUPGRADE_TWO
18510      
18511      ConditionState = RUBBLE ARMORSET_CRATEUPGRADE_TWO
18512        Model = UVBATTBUS_D
18513        ShowSubObject = BUSUP01 BUSUP02
18514      End
18515  
18516      LeftFrontTireBone = Tire01
18517      RightFrontTireBone = Tire04
18518      LeftRearTireBone = Tire02
18519      RightRearTireBone = Tire03
18520    
18521      TireRotationMultiplier = 0.2   ; this * speed = rotation.
18522  
18523      Dust = RocketBuggyDust
18524      DirtSpray = RocketBuggyDirtSpray
18525      PowerslideSpray = RocketBuggyDirtPowerSlide
18526  
18527    End
18528    PlacementViewAngle = 180
18529    ; ***DESIGN parameters ***
18530    DisplayName      = OBJECT:BattleBus
18531    Side = GLAToxinGeneral
18532    EditorSorting   = VEHICLE
18533    TransportSlotCount = 8                 ;how many "slots" we take in a transport (0 == not transportable)
18534    WeaponSet
18535      Conditions = None 
18536      Weapon = PRIMARY None 
18537    End
18538    WeaponSet
18539      Conditions          = PLAYER_UPGRADE 
18540      Weapon              = PRIMARY     BattleBusPassengerDummyWeapon
18541    End
18542  
18543    ArmorSet
18544      Conditions      = None
18545      Armor           = BattleBusTruckArmor
18546      DamageFX        = TruckDamageFX
18547    End
18548    ArmorSet
18549      Conditions      = SECOND_LIFE ; Set after our first death, natch
18550      Armor           = BattleBusStructureArmorTough
18551      DamageFX        = StructureDamageFX
18552    End
18553  
18554    ArmorSet
18555      Conditions      = CRATE_UPGRADE_ONE
18556      Armor           = BattleBusTruckArmorPlusOne
18557      DamageFX        = TruckDamageFX
18558    End
18559    ArmorSet
18560      Conditions      = CRATE_UPGRADE_ONE SECOND_LIFE ; Set after our first death, natch
18561      Armor           = BattleBusStructureArmorToughPlusOne
18562      DamageFX        = StructureDamageFX
18563    End
18564  
18565    ArmorSet
18566      Conditions      = CRATE_UPGRADE_TWO
18567      Armor           = BattleBusTruckArmorPlusTwo
18568      DamageFX        = TruckDamageFX
18569    End
18570    ArmorSet
18571      Conditions      = CRATE_UPGRADE_TWO SECOND_LIFE ; Set after our first death, natch
18572      Armor           = BattleBusStructureArmorToughPlusTwo
18573      DamageFX        = StructureDamageFX
18574    End
18575  
18576    BuildCost       = 1100
18577    BuildTime       = 15.0          ;in seconds    
18578    VisionRange     = 150 ; Used in attack move targeting
18579    ShroudClearingRange     = 200
18580    Prerequisites
18581      Object = Chem_GLAArmsDealer
18582      Object = Chem_GLAPalace
18583    End
18584    CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
18585    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
18586    CommandSet = GLAVehicleBattleBusCommandSet
18587  
18588    ; *** AUDIO Parameters ***
18589    VoiceSelect = BattleBusVoiceSelect
18590    VoiceMove = BattleBusVoiceMove
18591    VoiceGuard = BattleBusVoiceMove
18592    VoiceAttack = BattleBusVoiceAttack
18593    SoundMoveStart = BattleBusMoveStart
18594    SoundMoveStartDamaged = BattleBusMoveStart
18595    SoundEnter = HumveeEnter
18596    SoundExit = HumveeExit
18597    UnitSpecificSounds
18598      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
18599      VoiceCreate                   = BattleBusVoiceCreate
18600      TurretMoveStart               = NoSound
18601      TurretMoveLoop                = NoSound
18602      TruckLandingSound             = RocketBuggyLand
18603      TruckPowerslideSound          = RocketBuggyPowerslide
18604      VoiceUnload                   = BattleBusVoiceUnload
18605    End
18606  
18607    ; *** ENGINEERING Parameters ***
18608    RadarPriority = UNIT
18609    KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS VEHICLE SALVAGER ARMOR_SALVAGER SCORE
18610  
18611    Body = UndeadBody ModuleTag_02 ; Body module that treats the first death as a state change
18612      MaxHealth           = 400.0
18613      InitialHealth       = 400.0
18614  
18615      SecondLifeMaxHealth = 650.0
18616  
18617      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
18618      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
18619      SubdualDamageCap = 750
18620      SubdualDamageHealRate = 500
18621      SubdualDamageHealAmount = 50
18622    End
18623  
18624    IsTrainable = No
18625    ExperienceValue     = 50 50 50 50  ; Experience point value at each level
18626  
18627    Behavior = AIUpdateInterface ModuleTag_04
18628      AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS
18629    End
18630  
18631    Behavior = PhysicsBehavior ModuleTag_05
18632      Mass = 40.0
18633    End
18634  
18635    Behavior = AutoHealBehavior ModuleTag_06
18636      HealingAmount = 2
18637      HealingDelay = 1000 ; msec
18638      TriggeredBy = Upgrade_GLAJunkRepair
18639    End
18640  
18641    Locomotor = SET_NORMAL BattleBusLocomotor
18642  
18643    Behavior = BattleBusSlowDeathBehavior  ModuleTag_08
18644      DeathTypes = ALL -CRUSHED -SPLATTED -EXTRA_4
18645      ProbabilityModifier = 5
18646      ModifierBonusPerOverkillPercent = 20%  ; negative means less likely to pick this in the face of much damage, positive means more likely
18647  
18648      ; Part the first, uses when killed the first time from non-system (unresistable) damage
18649      FXStartUndeath = FX_BattleBusStartUndeath
18650      OCLStartUndeath = OCL_BattleBusStartUndeath
18651      FXHitGround = FX_BattleBusHitGround
18652      OCLHitGround = OCL_BattleBusHitGround
18653      ThrowForce = 100.0
18654      PercentDamageToPassengers = 50%
18655      EmptyHulkDestructionDelay = 1000 ; If non-zero, msec of emptiness before we kill ourselves with Penalty damage
18656  
18657      ; Part the second, normal fields of a SlowDeathBehavior
18658      DestructionDelay = 0
18659      DestructionDelayVariance = 200
18660      FX = FINAL FX_BuggyNewDeathExplosion
18661      OCL = FINAL OCL_BattleBusDeath
18662    End
18663  
18664    Behavior = TransportContain  ModuleTag_10
18665      PassengersAllowedToFire = Yes
18666      Slots             = 8
18667      DamagePercentToUnits = 100%
18668      AllowInsideKindOf  = INFANTRY
18669      ExitDelay = 250
18670      NumberOfExitPaths = 5 ; Defaults to 1.  Set 0 to not use ExitStart/ExitEnd, set higher than 1 to use ExitStart01-nn/ExitEnd01-nn
18671      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
18672      WeaponBonusPassedToPassengers = Yes
18673      DelayExitInAir = Yes
18674      ArmedRidersUpgradeMyWeaponSet = Yes
18675    End
18676  
18677  ; Module 11 cut.
18678  ;  Behavior = HordeUpdate ModuleTag_11
18679  ;    RubOffRadius = 150    ; if I am this close to a real hordesman, I will get to be an honorary hordesman
18680  ;    UpdateRate = 1000     ; how often to recheck horde status (msec)
18681  ;    Radius = 75           ; how close other units must be to us to count towards our horde-ness (~30 feet or so)
18682  ;    AlliesOnly = Yes      ; do we only count allies towards horde status? 
18683  ;    ExactMatch = Yes      ; do we only count units of our exact same type towards horde status? (overrides kindof)
18684  ;    Count = 5             ; how many units must be within Radius to grant us horde-ness
18685  ;    Action = HORDE        ; when horde-ing, grant us the HORDE bonus
18686  ;  End
18687  
18688    ; A crushing defeat
18689    Behavior = FXListDie ModuleTag_23
18690      DeathTypes = NONE +CRUSHED +SPLATTED
18691      DeathFX = FX_CarCrush
18692    End
18693    Behavior = CreateObjectDie ModuleTag_24
18694      DeathTypes = NONE +CRUSHED +SPLATTED
18695      CreationList = OCL_CrusaderTank_CrushEffect
18696    End
18697    Behavior = CreateCrateDie ModuleTag_25
18698      CrateData = SalvageCrateData
18699    End
18700    
18701    Behavior = FlammableUpdate ModuleTag_28
18702      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
18703      AflameDamageAmount = 3       ; taking this much damage...
18704      AflameDamageDelay = 500       ; this often.
18705    End
18706  
18707    Behavior = DestroyDie ModuleTag_29
18708      DeathTypes = NONE +CRUSHED +SPLATTED
18709    End
18710  
18711    Behavior = SlowDeathBehavior ModuleTag_30 // Empty Hulk sinking away
18712      DeathTypes = NONE +EXTRA_4
18713  
18714      SinkDelay = 1
18715      SinkRate = 2.5
18716      DestructionDelay = 5000
18717    End
18718  
18719    Behavior                 = TransitionDamageFX ModuleTag_31
18720      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
18721      ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
18722    End
18723  
18724    Geometry = BOX
18725    GeometryMajorRadius = 19.0
18726    GeometryMinorRadius = 8.0
18727    GeometryHeight = 11.5     
18728    GeometryIsSmall = No    
18729    Shadow = SHADOW_VOLUME
18730    ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
18731  
18732  End
18733  
18734  
18735  
18736  
18737  
18738  
18739  
18740  
18741  
18742  
18743  
18744  
18745  
18746  
18747  
18748  
18749  
18750  
18751  
18752  
18753  
18754  
18755  
18756  
18757  
18758  
18759  
18760  
18761  
18762  
18763  
18764  
18765  
18766  
18767  
18768  
18769  
18770  
18771  
18772  
18773  
18774  
18775  
18776  
18777  
18778  
18779  
18780  
18781  
18782  
18783  
18784  
18785  
18786  
18787  
18788  ;This file is for Chemical Generals Challenge GLA Buildings
18789  ;----------------------------------------------------------------------
18790  Object Chem_GLATunnelNetwork
18791  
18792    ; *** ART Parameters ***
18793    SelectPortrait         = SUToxicTunnel_L
18794    ButtonImage            = SUToxicTunnel
18795    UpgradeCameo1          = Chem_Upgrade_GLAAnthraxGamma
18796    Draw = W3DModelDraw ModuleTag_01
18797      OkToChangeModelColor = Yes
18798      
18799      DefaultConditionState
18800        Model             = UBToxTunn
18801        Turret            = Turret01
18802        WeaponFireFXBone  = PRIMARY BarrelMS
18803        WeaponLaunchBone  = PRIMARY BarrelMS
18804        WeaponMuzzleFlash = PRIMARY BarrelFX
18805      End
18806      ConditionState      = DAMAGED
18807        Model             = UBToxTunn_D
18808        WeaponFireFXBone  = PRIMARY BarrelMS
18809        WeaponLaunchBone  = PRIMARY BarrelMS
18810  
18811      End
18812      ConditionState      = REALLYDAMAGED RUBBLE
18813        Model             = UBToxTunn_E
18814        WeaponFireFXBone  = PRIMARY BarrelMS
18815        WeaponLaunchBone  = PRIMARY BarrelMS
18816  
18817        ParticleSysBone   = Steam01 SteamVent
18818      End
18819      
18820      
18821      ConditionState      = SNOW
18822        Model             = UBToxTunn_S
18823      End
18824      ConditionState      = DAMAGED SNOW
18825        Model             = UBToxTunn_DS
18826      End
18827      ConditionState      = REALLYDAMAGED RUBBLE SNOW
18828        Model             = UBToxTunn_ES
18829        ParticleSysBone   = Steam01 SteamVent
18830      End
18831      
18832      
18833      
18834      
18835      ConditionState      = NIGHT
18836        Model             = UBToxTunn_N
18837      End
18838      ConditionState      = DAMAGED NIGHT
18839        Model             = UBToxTunn_DN
18840      End
18841      ConditionState      = REALLYDAMAGED RUBBLE NIGHT
18842        Model             = UBToxTunn_EN
18843        ParticleSysBone   = Steam01 SteamVent
18844      End
18845      
18846      
18847      ConditionState      = SNOW NIGHT
18848        Model             = UBToxTunn_NS
18849      End
18850      ConditionState      = DAMAGED SNOW NIGHT
18851        Model             = UBToxTunn_DNS
18852      End
18853      ConditionState      = REALLYDAMAGED RUBBLE SNOW NIGHT
18854        Model             = UBToxTunn_ENS
18855        ParticleSysBone   = Steam01 SteamVent
18856      End
18857  
18858      ;**************************************************************************************************************************
18859      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
18860      ;for this draw module
18861      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18862        Model              = UBToxTunn
18863        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18864      End
18865      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
18866        Model              = UBToxTunn_D
18867        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18868      End
18869      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
18870        Model              = UBToxTunn_E
18871        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18872      End
18873      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
18874        Model              = UBToxTunn_N
18875        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18876      End
18877      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
18878        Model              = UBToxTunn_DN
18879        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18880      End
18881      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
18882        Model              = UBToxTunn_EN
18883        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18884      End
18885      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW
18886        Model              = UBToxTunn_S
18887        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18888      End
18889      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW DAMAGED
18890        Model              = UBToxTunn_DS
18891        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18892      End
18893      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED SNOW REALLYDAMAGED
18894        Model              = UBToxTunn_ES
18895        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18896      End
18897      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW
18898        Model              = UBToxTunn_NS
18899        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18900      End
18901      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW DAMAGED
18902        Model              = UBToxTunn_DNS
18903        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18904      End
18905      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT SNOW REALLYDAMAGED
18906        Model              = UBToxTunn_ENS
18907        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
18908      End
18909  
18910      ConditionState       = AWAITING_CONSTRUCTION 
18911        Model              = NONE
18912      End
18913      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
18914      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
18915      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
18916      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
18917      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
18918      AliasConditionState  = AWAITING_CONSTRUCTION SNOW
18919      AliasConditionState  = AWAITING_CONSTRUCTION SNOW DAMAGED
18920      AliasConditionState  = AWAITING_CONSTRUCTION SNOW REALLYDAMAGED
18921      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW
18922      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW DAMAGED
18923      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT SNOW REALLYDAMAGED
18924      AliasConditionState  = SOLD 
18925      AliasConditionState  = SOLD DAMAGED
18926      AliasConditionState  = SOLD REALLYDAMAGED
18927      AliasConditionState  = SOLD NIGHT
18928      AliasConditionState  = SOLD NIGHT DAMAGED
18929      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
18930      AliasConditionState  = SOLD SNOW
18931      AliasConditionState  = SOLD SNOW DAMAGED
18932      AliasConditionState  = SOLD SNOW REALLYDAMAGED
18933      AliasConditionState  = SOLD NIGHT SNOW
18934      AliasConditionState  = SOLD NIGHT SNOW DAMAGED
18935      AliasConditionState  = SOLD NIGHT SNOW REALLYDAMAGED
18936      ;**************************************************************************************************************************
18937      
18938    End
18939    
18940    ; ------------ construction-zone fence -----------------
18941    Draw = W3DModelDraw ModuleTag_02
18942    AnimationsRequirePower = No
18943      DefaultConditionState
18944        Model           = None
18945        TransitionKey   = DOWN_DEFAULT
18946      End
18947      ConditionState    = NIGHT
18948        Model           = None
18949        TransitionKey   = DOWN_DEFAULT
18950      End
18951      ConditionState    = SNOW
18952        Model           = None
18953        TransitionKey   = DOWN_DEFAULT
18954      End
18955      ConditionState    = SNOW NIGHT
18956        Model           = None
18957        TransitionKey   = DOWN_DEFAULT
18958      End
18959      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18960        Model           = UBUndTunn_A4
18961        Animation       = UBUndTunn_A4.UBUndTunn_A4
18962        AnimationMode   = MANUAL
18963        Flags           = START_FRAME_LAST
18964        TransitionKey   = UP_DAY
18965      End
18966      ConditionState    = NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18967        Model           = UBUndTunn_A4N
18968        Animation       = UBUndTunn_A4N.UBUndTunn_A4N
18969        AnimationMode   = MANUAL
18970        Flags           = START_FRAME_LAST
18971        TransitionKey   = UP_NIGHT
18972      End
18973      ConditionState    = SNOW AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18974        Model           = UBUndTunn_A4S
18975        Animation       = UBUndTunn_A4S.UBUndTunn_A4S
18976        AnimationMode   = MANUAL
18977        Flags           = START_FRAME_LAST
18978        TransitionKey   = UP_SNOW
18979      End
18980      ConditionState    = SNOW NIGHT AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
18981        Model           = UBUndTunn_A4SN
18982        Animation       = UBUndTunn_A4SN.UBUndTunn_A4SN
18983        AnimationMode   = MANUAL
18984        Flags           = START_FRAME_LAST
18985        TransitionKey   = UP_SNOWNIGHT
18986      End
18987      TransitionState   = DOWN_DEFAULT UP_DAY
18988        Model           = UBUndTunn_A4
18989        Animation       = UBUndTunn_A4.UBUndTunn_A4
18990        AnimationMode   = ONCE
18991        AnimationSpeedFactorRange = 1.0 1.0
18992        Flags           = START_FRAME_FIRST
18993      End
18994      TransitionState   = DOWN_DEFAULT UP_NIGHT
18995        Model           = UBUndTunn_A4N
18996        Animation       = UBUndTunn_A4N.UBUndTunn_A4N
18997        AnimationMode   = ONCE
18998        AnimationSpeedFactorRange = 1.0 1.0
18999        Flags           = START_FRAME_FIRST
19000      End
19001      TransitionState   = DOWN_DEFAULT UP_SNOW
19002        Model           = UBUndTunn_A4S
19003        Animation       = UBUndTunn_A4S.UBUndTunn_A4S
19004        AnimationMode   = ONCE
19005        AnimationSpeedFactorRange = 1.0 1.0
19006        Flags           = START_FRAME_FIRST
19007      End
19008      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
19009        Model           = UBUndTunn_A4SN
19010        Animation       = UBUndTunn_A4SN.UBUndTunn_A4SN
19011        AnimationMode   = ONCE
19012        AnimationSpeedFactorRange = 1.0 1.0
19013        Flags           = START_FRAME_FIRST
19014      End
19015      TransitionState   = UP_DAY DOWN_DEFAULT
19016        Model           = UBUndTunn_A4
19017        Animation       = UBUndTunn_A4.UBUndTunn_A4
19018        AnimationMode   = ONCE_BACKWARDS
19019        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
19020        Flags           = START_FRAME_LAST
19021      End
19022      TransitionState   = UP_NIGHT DOWN_DEFAULT
19023        Model           = UBUndTunn_A4N
19024        Animation       = UBUndTunn_A4N.UBUndTunn_A4N
19025        AnimationMode   = ONCE_BACKWARDS
19026        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
19027        Flags           = START_FRAME_LAST
19028      End
19029      TransitionState   = UP_SNOW DOWN_DEFAULT
19030        Model           = UBUndTunn_A4S
19031        Animation       = UBUndTunn_A4S.UBUndTunn_A4S
19032        AnimationMode   = ONCE_BACKWARDS
19033        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
19034        Flags           = START_FRAME_LAST
19035      End
19036      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
19037        Model           = UBUndTunn_A4SN
19038        Animation       = UBUndTunn_A4SN.UBUndTunn_A4SN
19039        AnimationMode   = ONCE_BACKWARDS
19040        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
19041        Flags           = START_FRAME_LAST
19042      End
19043    End
19044  
19045    ; ------------ under-construction scaffolding -----------------
19046    Draw = W3DModelDraw ModuleTag_03
19047    AnimationsRequirePower = No
19048      DefaultConditionState
19049        Model           = None
19050        TransitionKey   = DOWN_DEFAULT
19051      End
19052      ConditionState    = NIGHT
19053        Model           = None
19054        TransitionKey   = DOWN_DEFAULT
19055      End
19056      ConditionState    = SNOW
19057        Model           = None
19058        TransitionKey   = DOWN_DEFAULT
19059      End
19060      ConditionState    = SNOW NIGHT
19061        Model           = None
19062        TransitionKey   = DOWN_DEFAULT
19063      End
19064      ConditionState    =  PARTIALLY_CONSTRUCTED 
19065        Model           = UBUndTunn_A6
19066        Animation       = UBUndTunn_A6.UBUndTunn_A6
19067        AnimationMode   = MANUAL
19068        Flags           = START_FRAME_LAST
19069        TransitionKey   = UP_DAY
19070      End
19071      ConditionState    = NIGHT  PARTIALLY_CONSTRUCTED 
19072        Model           = UBUndTunn_A6N
19073        Animation       = UBUndTunn_A6N.UBUndTunn_A6N
19074        AnimationMode   = MANUAL
19075        Flags           = START_FRAME_LAST
19076        TransitionKey   = UP_NIGHT
19077      End
19078      ConditionState    = SNOW  PARTIALLY_CONSTRUCTED 
19079        Model           = UBUndTunn_A6S
19080        Animation       = UBUndTunn_A6S.UBUndTunn_A6S
19081        AnimationMode   = MANUAL
19082        Flags           = START_FRAME_LAST
19083        TransitionKey   = UP_SNOW
19084      End
19085      ConditionState    = SNOW NIGHT  PARTIALLY_CONSTRUCTED 
19086        Model           = UBUndTunn_A6SN
19087        Animation       = UBUndTunn_A6SN.UBUndTunn_A6SN
19088        AnimationMode   = MANUAL
19089        Flags           = START_FRAME_LAST
19090        TransitionKey   = UP_SNOWNIGHT
19091      End
19092      TransitionState   = DOWN_DEFAULT UP_DAY
19093        Model           = UBUndTunn_A6
19094        Animation       = UBUndTunn_A6.UBUndTunn_A6
19095        AnimationMode   = ONCE
19096        AnimationSpeedFactorRange = 1.0 1.0
19097        Flags           = START_FRAME_FIRST
19098      End
19099      TransitionState   = DOWN_DEFAULT UP_NIGHT
19100        Model           = UBUndTunn_A6N
19101        Animation       = UBUndTunn_A6N.UBUndTunn_A6N
19102        AnimationMode   = ONCE
19103        AnimationSpeedFactorRange = 1.0 1.0
19104        Flags           = START_FRAME_FIRST
19105      End
19106      TransitionState   = DOWN_DEFAULT UP_SNOW
19107        Model           = UBUndTunn_A6S
19108        Animation       = UBUndTunn_A6S.UBUndTunn_A6S
19109        AnimationMode   = ONCE
19110        AnimationSpeedFactorRange = 1.0 1.0
19111        Flags           = START_FRAME_FIRST
19112      End
19113      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
19114        Model           = UBUndTunn_A6SN
19115        Animation       = UBUndTunn_A6SN.UBUndTunn_A6SN
19116        AnimationMode   = ONCE
19117        AnimationSpeedFactorRange = 1.0 1.0
19118        Flags           = START_FRAME_FIRST
19119      End
19120      TransitionState   = UP_DAY DOWN_DEFAULT
19121        Model           = UBUndTunn_A6
19122        Animation       = UBUndTunn_A6.UBUndTunn_A6
19123        AnimationMode   = ONCE_BACKWARDS
19124        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
19125        Flags           = START_FRAME_LAST
19126      End
19127      TransitionState   = UP_NIGHT DOWN_DEFAULT
19128        Model           = UBUndTunn_A6N
19129        Animation       = UBUndTunn_A6N.UBUndTunn_A6N
19130        AnimationMode   = ONCE_BACKWARDS
19131        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
19132        Flags           = START_FRAME_LAST
19133      End
19134      TransitionState   = UP_SNOW DOWN_DEFAULT
19135        Model           = UBUndTunn_A6S
19136        Animation       = UBUndTunn_A6S.UBUndTunn_A6S
19137        AnimationMode   = ONCE_BACKWARDS
19138        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
19139        Flags           = START_FRAME_LAST
19140      End
19141      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
19142        Model           = UBUndTunn_A6SN
19143        Animation       = UBUndTunn_A6SN.UBUndTunn_A6SN
19144        AnimationMode   = ONCE_BACKWARDS
19145        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
19146        Flags           = START_FRAME_LAST
19147      End
19148    End
19149  
19150    PlacementViewAngle = -135
19151  
19152    ; ***DESIGN parameters ***
19153    DisplayName      = OBJECT:Chem_TunnelNetwork
19154    Side = GLAToxinGeneral
19155    EditorSorting    = STRUCTURE
19156    Prerequisites
19157      Object = Chem_GLABarracks
19158    End
19159    BuildCost        = 800
19160    RefundValue      = 100 ; With nothing (or zero) listed, we sell for half price. 
19161    BuildTime        = 5.0           ; in seconds
19162    EnergyProduction = 0
19163    VisionRange     = 200.0           ; Shroud clearing distance
19164    ShroudClearingRange = 200
19165    ArmorSet
19166      Conditions      = None
19167      Armor           = StructureArmor
19168      DamageFX        = StructureDamageFXNoShake
19169    End
19170    WeaponSet 
19171      Conditions        = None 
19172      Weapon            = PRIMARY     Chem_TunnelNetworkGunBeta
19173    End
19174    WeaponSet 
19175      Conditions        = PLAYER_UPGRADE
19176      Weapon            = PRIMARY     Chem_TunnelNetworkGunGamma
19177    End
19178  
19179    CommandSet       = Chem_GLATunnelNetworkCommandSet
19180    ExperienceValue     = 100 100 100 100  ; Experience point value at each level
19181  
19182    ; *** AUDIO Parameters ***
19183    VoiceSelect = TunnelNetworkSelect
19184    SoundOnDamaged        = BuildingDamagedStateLight
19185    SoundOnReallyDamaged  = BuildingDestroy
19186    SoundEnter = GarrisonEnter
19187    SoundExit = GarrisonExit
19188  
19189    UnitSpecificSounds
19190      UnderConstruction     = UnderConstructionLoop
19191      TurretMoveLoop        = NoSound
19192    End
19193  
19194    ; *** ENGINEERING Parameters ***
19195    RadarPriority   = STRUCTURE
19196    KindOf          = PRELOAD STRUCTURE SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT IMMOBILE FS_BASE_DEFENSE IMMUNE_TO_CAPTURE SCORE_CREATE AUTO_RALLYPOINT
19197    Body            = StructureBody ModuleTag_04
19198      MaxHealth       = 1000.0
19199      InitialHealth   = 1000.0
19200  
19201      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
19202      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
19203      SubdualDamageCap = 1200
19204      SubdualDamageHealRate = 500
19205      SubdualDamageHealAmount = 100
19206    End
19207    Behavior = WeaponSetUpgrade ModuleTag_08
19208      TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma
19209    End
19210  
19211    Behavior = StealthDetectorUpdate ModuleTag_13
19212      DetectionRate     = 500   ; how often to rescan for stealthed things in my sight (msec)
19213      DetectionRange   = 150   ;Dustin, enable this for independant balancing!
19214      CanDetectWhileGarrisoned  = No ;Garrisoned means being in a structure that you units can shoot out of.
19215      CanDetectWhileContained   = No ;Contained means being in a transport or tunnel network.
19216    End
19217  
19218    Behavior = AIUpdateInterface ModuleTag_16
19219      Turret
19220        TurretTurnRate        = 180   // turn rate, in degrees per sec
19221        ControlledWeaponSlots = PRIMARY
19222      End
19223  
19224      AutoAcquireEnemiesWhenIdle = Yes Stealthed ;ATTACK_BUILDINGS; defensive weapon
19225    End
19226    Behavior = TunnelContain ModuleTag_05
19227      TimeForFullHeal     = 5000   ;(in milliseconds)
19228    End
19229  
19230    ;Kris: Removed this module because units exiting the container would extract information from
19231    ;the wrong exit interface. Because TunnelContain has the proper information for exiting properly
19232    ;we don't need this one. And spawned units can use the TunnelContain exit anyways.
19233    ;Behavior = DefaultProductionExitUpdate ModuleTag_06
19234    ;  UnitCreatePoint   = X:  5.0  Y:  0.0   Z:0.0
19235    ;  NaturalRallyPoint = X: 35.0  Y:  0.0   Z:0.0
19236    ;End
19237  
19238    Behavior            = SpawnBehavior ModuleTag_07
19239      SpawnNumber       = 2
19240      SpawnReplaceDelay = 9999
19241      SpawnTemplateName = Chem_GLAInfantryTunnelDefender
19242      OneShot           = Yes
19243      CanReclaimOrphans = No
19244      SlavesHaveFreeWill = Yes
19245    End
19246    Behavior             = RebuildHoleExposeDie ModuleTag_09
19247      HoleName      = GLAHoleTunnelNetwork
19248      HoleMaxHealth = 500.0
19249    End
19250    Behavior = DestroyDie ModuleTag_10
19251      ;nothing
19252    End
19253    Behavior             = CreateObjectDie ModuleTag_11
19254      CreationList  = OCL_ABTunnelNetworkDebris
19255    End
19256    Behavior             = FXListDie ModuleTag_12
19257      DeathFX       = FX_StructureSmallDeath
19258    End
19259  
19260    Behavior = FlammableUpdate ModuleTag_15
19261  
19262      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
19263      AflameDamageAmount = 5       ; taking this much damage...
19264      AflameDamageDelay = 500       ; this often.
19265    End
19266  
19267    Behavior = TransitionDamageFX ModuleTag_17
19268      ;-------------DESIGNED FOR SMALL SIZED FACTION BUILDING TRANSITIONS-------------------
19269      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
19270      ;---------------------------------------------------------------------------------------
19271      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionSmallSmoke
19272      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionSmallExplosion
19273      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionSmallShockwave
19274    End
19275  
19276    Behavior = ProductionUpdate ModuleTag_18
19277    End
19278  
19279  
19280    Geometry = CYLINDER
19281    GeometryMajorRadius = 25.0
19282    GeometryHeight = 20.0    
19283    GeometryIsSmall     = No
19284    Shadow          = SHADOW_VOLUME
19285    BuildCompletion = PLACED_BY_PLAYER
19286  
19287  End
19288  
19289  
19290  
19291  
19292  
19293  
19294  
19295  
19296  
19297  
19298  
19299  
19300  
19301  
19302  
19303  
19304  
19305  
19306  
19307  
19308  
19309  
19310  
19311  
19312  
19313  
19314  
19315  
19316  
19317  
19318  
19319  
19320  
19321  
19322  
19323  
19324  
19325  
19326  
19327  
19328  
19329  
19330  
19331  
19332  
19333  
19334  
19335  
19336  
19337  
19338  
19339  
19340  
19341  
19342  
19343  
19344  
19345  
19346  
19347  
19348  ;------------------------------------------------------------------------------
19349  ; CHEMICAL GENERAL SYSTEMS
19350  ;------------------------------------------------------------------------------
19351  Object Chem_PoisonFieldGammaLarge
19352  
19353    ; *** ART Parameters ***
19354    Draw = W3DModelDraw ModuleTag_01
19355      DefaultConditionState
19356        Model = NONE
19357      End
19358    End
19359  
19360    ; ***DESIGN parameters ***
19361    EditorSorting = SYSTEM
19362    KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE
19363    ArmorSet
19364      Conditions      = None
19365      Armor           = HazardousMaterialArmor
19366    End
19367  
19368    ; ***AUDIO parameters ***
19369    SoundAmbient      = AnthraxPoolAmbientLoop
19370  
19371    ; *** ENGINEERING Parameters ***
19372    Body = ActiveBody ModuleTag_02
19373      MaxHealth        = 120.0
19374      InitialHealth    = 120.0
19375    End
19376    Behavior = FireWeaponUpdate ModuleTag_03
19377      Weapon = Chem_LargePoisonFieldWeaponGamma
19378    End
19379  
19380    Behavior = LifetimeUpdate ModuleTag_04
19381      MinLifetime = 45000
19382      MaxLifetime = 45000
19383    End
19384    
19385    Behavior = FireWeaponUpdate ModuleTag_05
19386      Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup
19387    End
19388  
19389    Behavior = DestroyDie ModuleTag_06
19390    End
19391  
19392    Behavior = FXListDie ModuleTag_07
19393      DeathFX = FX_AnthraxPoolDie
19394    End
19395    
19396    Geometry            = CYLINDER
19397    GeometryMajorRadius = 70.0
19398    GeometryHeight      = 1.0
19399    GeometryIsSmall     = No
19400    
19401  End
19402  
19403  ;------------------------------------------------------------------------------
19404  Object Chem_PoisonFieldGammaMedium
19405  
19406    ; *** ART Parameters ***
19407    Draw = W3DModelDraw ModuleTag_01
19408      DefaultConditionState
19409        Model = NONE
19410      End
19411    End
19412  
19413    ; ***DESIGN parameters ***
19414    EditorSorting = SYSTEM
19415    KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE
19416    ArmorSet
19417      Conditions      = None
19418      Armor           = HazardousMaterialArmor
19419    End
19420  
19421    ; ***AUDIO parameters ***
19422    SoundAmbient      = AnthraxPoolAmbientLoop
19423  
19424  
19425    ; *** ENGINEERING Parameters ***
19426    Body = ActiveBody ModuleTag_02
19427      MaxHealth        = 120.0
19428      InitialHealth    = 120.0
19429    End
19430    Behavior = FireWeaponUpdate ModuleTag_03
19431      Weapon = Chem_MediumPoisonFieldWeaponGamma
19432    End
19433  
19434    Behavior = LifetimeUpdate ModuleTag_04
19435      MinLifetime = 30000
19436      MaxLifetime = 30000
19437    End
19438    
19439    Behavior = FireWeaponUpdate ModuleTag_05
19440      Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup
19441    End
19442  
19443    Behavior = DestroyDie ModuleTag_06
19444    End
19445  
19446    Behavior = FXListDie ModuleTag_07
19447      DeathFX = FX_AnthraxPoolDie
19448    End
19449    
19450    Geometry            = CYLINDER
19451    GeometryMajorRadius = 40.0
19452    GeometryHeight      = 1.0
19453    GeometryIsSmall     = No
19454    
19455  End
19456  
19457  ;------------------------------------------------------------------------------
19458  Object Chem_PoisonFieldGammaSmall
19459  
19460    ; *** ART Parameters ***
19461    Draw = W3DModelDraw ModuleTag_01
19462      DefaultConditionState
19463        Model = NONE
19464      End
19465    End
19466  
19467    ; ***DESIGN parameters ***
19468    EditorSorting = SYSTEM
19469    KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE
19470    ArmorSet
19471      Conditions      = None
19472      Armor           = HazardousMaterialArmor
19473    End
19474  
19475    ; ***AUDIO parameters ***
19476    SoundAmbient      = AnthraxPoolAmbientLoop
19477  
19478  
19479    ; *** ENGINEERING Parameters ***
19480    Body = ActiveBody ModuleTag_02
19481      MaxHealth        = 120.0
19482      InitialHealth    = 120.0
19483    End
19484    Behavior = FireWeaponUpdate ModuleTag_03
19485      Weapon = Chem_SmallPoisonFieldWeaponGamma
19486    End
19487  
19488    Behavior = LifetimeUpdate ModuleTag_04
19489      MinLifetime = 10000
19490      MaxLifetime = 10000
19491    End
19492    
19493    Behavior = FireWeaponUpdate ModuleTag_05
19494      Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup
19495    End
19496  
19497    Behavior = DestroyDie ModuleTag_06
19498    End
19499  
19500    Behavior = FXListDie ModuleTag_07
19501      DeathFX = FX_AnthraxPoolDie
19502    End
19503    
19504    Geometry            = CYLINDER
19505    GeometryMajorRadius = 4.0
19506    GeometryHeight      = 1.0
19507    GeometryIsSmall     = No
19508    
19509  End
19510  
19511  
19512  ;------------------------------------------------------------------------------
19513  Object Chem_ToxicInfantryGamma
19514    ; *** ART Parameters ***
19515    Draw = W3DModelDraw ModuleTag_01
19516  
19517      DefaultConditionState
19518        Model = CITOXDTH_SKNB
19519        Animation = CITOXDTH_SKL.CITOXDTH_DTA
19520        AnimationSpeedFactorRange = 0.9 1.3
19521        AnimationMode = ONCE
19522      End
19523    End
19524  
19525  
19526    ; ***DESIGN parameters ***
19527    Side = GLAToxinGeneral
19528    EditorSorting = SYSTEM
19529    TransportSlotCount = 1
19530    ArmorSet
19531      Conditions      = None
19532      Armor           = HumanArmor
19533      DamageFX        = None
19534    End
19535    VisionRange = 150
19536    DisplayName = OBJECT:ToxicInfantry
19537  
19538    ; *** AUDIO Parameters ***
19539  
19540    ; *** ENGINEERING Parameters ***
19541    RadarPriority = NOT_ON_RADAR
19542    KindOf = CAN_CAST_REFLECTIONS INFANTRY
19543  
19544    Body = ActiveBody ModuleTag_02
19545      MaxHealth       = 50.0
19546      InitialHealth   = 50.0
19547    End
19548  
19549    Behavior = PhysicsBehavior ModuleTag_04
19550      Mass = 5.0
19551    End
19552  
19553    Behavior = LifetimeUpdate ModuleTag_05
19554      MinLifetime = 3000 ; randomness for these means going out of sync of the animation and particles
19555      MaxLifetime = 3000
19556    End
19557  
19558    Behavior = SlowDeathBehavior ModuleTag_06
19559      SinkDelay = 4500
19560      SinkRate = 0.5     ; in Dist/Sec
19561      DestructionDelay = 9500
19562    End
19563  
19564    Behavior = SquishCollide ModuleTag_07
19565      ;nothing
19566    End
19567  
19568    Behavior = FXListDie ModuleTag_08
19569      DeathTypes = ALL -CRUSHED -SPLATTED
19570      DeathFX = FX_GIDie
19571    End
19572    Behavior = FXListDie ModuleTag_09
19573      DeathTypes = NONE +CRUSHED +SPLATTED
19574      DeathFX = FX_GIDieCrushed
19575    End
19576  
19577    Geometry = CYLINDER
19578    GeometryMajorRadius = 3.0
19579    GeometryMinorRadius = 3.0
19580    GeometryHeight = 12.0
19581    GeometryIsSmall = Yes
19582  End
19583  
19584  
19585  
19586  
19587  
19588  
19589  
19590  
19591  ;------------------------------------------------------------------------------
19592  Object Chem_ScudStormMissile
19593  
19594    ; *** ART Parameters ***
19595    Draw               = W3DModelDraw ModuleTag_01
19596      OkToChangeModelColor = Yes
19597      DefaultConditionState
19598        Model          = UBScudStrm_M
19599      End
19600      ConditionState   = DAMAGED REALLYDAMAGED RUBBLE
19601        Model          = NONE
19602      End
19603      
19604    End
19605  
19606    ; ***DESIGN parameters ***
19607    KindOf = PROJECTILE ;BALLISTIC_MISSILE
19608    EditorSorting       = SYSTEM
19609    VisionRange         = 300.0  
19610    ShroudClearingRange = 0
19611    TransportSlotCount  = 10
19612    ArmorSet
19613      Conditions       = None
19614      Armor            = ProjectileArmor
19615      DamageFX         = None
19616    End
19617  
19618    ; *** AUDIO Parameters ***
19619    ; SoundFallingFromPlane = DaisyCutterWeapon
19620      
19621    ; *** ENGINEERING Parameters ***
19622    Body = ActiveBody ModuleTag_02
19623      MaxHealth        = 10000.0
19624      InitialHealth    = 10000.0
19625    End
19626  
19627    Behavior = PhysicsBehavior ModuleTag_03
19628      Mass = 500.0
19629    End
19630  
19631    Behavior = MissileAIUpdate ModuleTag_04
19632      TryToFollowTarget             = No 
19633      FuelLifetime                  = 0 ; zero is infinite
19634      InitialVelocity               = 0                ; in dist/sec
19635      IgnitionFX                    = FX_ScudStormIgnition
19636      DistanceToTravelBeforeTurning = 500
19637      DistanceToTargetBeforeDiving  = 200 ; When I hit this close to target, I ignore PreferredHeight.
19638    End
19639    Locomotor = SET_NORMAL SCUDStormMissileLocomotor
19640  
19641    Behavior = HeightDieUpdate ModuleTag_05
19642      TargetHeight                    = 15.0
19643      TargetHeightIncludesStructures  = No
19644      OnlyWhenMovingDown              = Yes
19645      SnapToGroundOnDeath             = Yes
19646      InitialDelay                    = 1000 ; Can't explode in the first second so we don't explode on the pad
19647    End
19648  
19649    Behavior = DestroyDie ModuleTag_06
19650      ;nothing
19651    End
19652  
19653    Behavior = SpecialPowerCompletionDie ModuleTag_07
19654      SpecialPowerTemplate = SuperweaponScudStorm
19655    End
19656  
19657    Behavior = FireWeaponWhenDeadBehavior ModuleTag_08
19658      DeathWeapon   = ScudStormDamageWeaponUpgraded
19659      StartsActive  = Yes
19660      ConflictsWith = Chem_Upgrade_GLAAnthraxGamma
19661    End
19662  
19663    Behavior = FireWeaponWhenDeadBehavior ModuleTag_09
19664      DeathWeapon   = Chem_ScudStormDamageWeaponGamma
19665      StartsActive  = No                      ; turned on by upgrade
19666      TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma         
19667    End
19668  
19669  
19670    Geometry = Cylinder
19671    GeometryIsSmall = Yes
19672    GeometryMajorRadius = 7.0
19673    GeometryHeight = 30.0
19674  
19675  End
19676  
19677  
19678  
19679  
19680  
19681  
19682  
19683  
19684  
19685  
19686  
19687  
19688  
19689  
19690  
19691  
19692  
19693  
19694  
19695  
19696  
19697  
19698  
19699  
19700  
19701  
19702  
19703  
19704  
19705  
19706  
19707  
19708  
19709  
19710  
19711  
19712  
19713  
19714  
19715  
19716  
19717  
19718  
19719  
19720  
19721  
19722  
19723  
19724  
19725  
19726  
19727  
19728  
19729  
19730  
19731  
19732  
19733  
19734  
19735  
19736  
19737  
19738  
19739  
19740  
19741  
19742  
19743  
19744  
19745  
19746  
19747  
19748  
19749  
19750  
19751  
19752  
19753  
19754  
19755  
19756  
19757  
19758  
19759  
19760  
19761  ;  This file is just for the Chemical Generals Challenge GLA Units
19762  ;------------------------------------------------------------------------------
19763  Object Chem_StingerMissile
19764  
19765    ; *** ART Parameters ***
19766    Draw = W3DModelDraw ModuleTag_01
19767      OkToChangeModelColor = Yes
19768      DefaultConditionState
19769        Model = UVRockBug_m
19770      End
19771      ConditionState = JAMMED
19772        ParticleSysBone = None SparksMedium
19773      End
19774    End
19775  
19776    ; ***DESIGN parameters ***
19777    DisplayName      = OBJECT:StingerMissile
19778    EditorSorting   = SYSTEM
19779    VisionRange = 0.0  
19780    ArmorSet
19781      Conditions      = None
19782      Armor           = ProjectileArmor
19783      DamageFX        = None
19784    End
19785    TransportSlotCount = 1                 ;how many "slots" we take in a transport (0 == not transportable)
19786  
19787    ; *** ENGINEERING Parameters ***
19788    KindOf = PROJECTILE SMALL_MISSILE
19789    Body = ActiveBody ModuleTag_02
19790      MaxHealth       = 100.0
19791      InitialHealth   = 100.0
19792  
19793      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
19794      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
19795      ; A projectile is not disabled, but instead loses target and scatters
19796      SubdualDamageCap = 200
19797      SubdualDamageHealRate = 100000
19798      SubdualDamageHealAmount = 50
19799    End
19800  
19801  ; ---- begin Projectile death behaviors
19802    Behavior = InstantDeathBehavior DeathModuleTag_01
19803      DeathTypes = NONE +DETONATED
19804      ; we detonated normally.
19805      ; no FX, just quiet destroy ourselves
19806    End
19807    Behavior = InstantDeathBehavior DeathModuleTag_02
19808      DeathTypes = NONE +LASERED
19809      ; shot down by laser.
19810  ;    FX         = FX_GenericMissileDisintegrate
19811    End
19812    Behavior = InstantDeathBehavior DeathModuleTag_03
19813      DeathTypes = ALL -LASERED -DETONATED
19814      ; shot down by nonlaser.
19815      FX         = FX_GenericMissileDeath
19816    End
19817  ; ---- end Projectile death behaviors
19818  
19819      
19820    Behavior = PhysicsBehavior ModuleTag_06
19821      Mass = 1
19822    End
19823    Behavior = MissileAIUpdate ModuleTag_07
19824      TryToFollowTarget       = Yes 
19825      FuelLifetime            = 5000
19826      InitialVelocity         = 200                ; in dist/sec
19827      IgnitionDelay           = 0
19828      DistanceToTravelBeforeTurning = 5
19829      IgnitionFX              = None
19830      DistanceToTargetForLock = 100  ; If it gets within 100 of the target, it kills the target.
19831    End
19832  
19833    Behavior = WeaponBonusUpgrade Upgrade_01
19834      TriggeredBy = Upgrade_GLAAPRockets
19835    End
19836  
19837    Locomotor = SET_NORMAL StingerMissileLocomotor
19838  
19839    Geometry = Sphere
19840    GeometryIsSmall = Yes
19841    GeometryMajorRadius = 2.0
19842  
19843  End
19844  
19845  
19846  
19847  
19848  ;------------------------------------------------
19849  
19850  Object Chem_GLAInfantryRebel
19851  
19852    ; *** ART Parameters ***
19853    SelectPortrait         = SUToxinRebel_L
19854    ButtonImage            = SUToxinRebel
19855  
19856    UpgradeCameo1 = Chem_Upgrade_GLAAnthraxGamma
19857    UpgradeCameo2 = Upgrade_InfantryCaptureBuilding
19858    UpgradeCameo3 = Upgrade_GLACamouflage
19859  
19860  
19861    Draw = W3DModelDraw ModuleTag_01
19862  
19863      OkToChangeModelColor = Yes
19864    ParticlesAttachedToAnimatedBones = Yes
19865  
19866  
19867      
19868      ; this says "we don't use these condition states at all, so completely
19869      ; ignore them for purposes of matchmaking"... this is useful to help
19870      ; reduce the number of AliasConditionState clauses you must add in
19871      ; order to avoid ambiguity in some cases.
19872      IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A
19873  
19874      ; ---- standing
19875      DefaultConditionState
19876        Model               = UIRGrdTOX_SKN
19877        IdleAnimation       = UIRGrd_SKL.UIRGrd_STN 0 35
19878        IdleAnimation       = UIRGrd_SKL.UIRGrd_IDA 
19879        IdleAnimation       = UIRGrd_SKL.UIRGrd_IDB 
19880        AnimationMode       = ONCE
19881        WeaponFireFXBone    = PRIMARY Muzzle01
19882        WeaponLaunchBone    = PRIMARY Muzzle01
19883        HideSubObject       = MuzzleFX01
19884        TransitionKey       = TRANS_Standing
19885  ;;;   ParticleSysBone     = MUZZLE01 WaterSpray
19886      End
19887  
19888      ConditionState        = REALLYDAMAGED
19889        IdleAnimation       = UIRGrd_SKL.UIRGrd_STB 0 35
19890        IdleAnimation       = UIRGrd_SKL.UIRGrd_IDC
19891        IdleAnimation       = UIRGrd_SKL.UIRGrd_IDD 
19892        AnimationMode       = ONCE
19893        TransitionKey       = TRANS_StandingHurt
19894      End
19895  
19896      ; ---- moving
19897      ConditionState        = MOVING
19898        Animation           = UIRGrd_SKL.UIRGrd_RNA 15
19899        AnimationMode       = LOOP
19900        TransitionKey       = TRANS_Walking
19901        ParticleSysBone     = None InfantryDustTrails
19902      End
19903      AliasConditionState   = MOVING ATTACKING
19904  
19905      ConditionState        = MOVING REALLYDAMAGED
19906        Animation           = UIRGrd_SKL.UIRGrd_RNB 25
19907        AnimationMode       = LOOP
19908        TransitionKey       = TRANS_WalkingHurt
19909        ParticleSysBone     = None InfantryDustTrails
19910      End
19911      AliasConditionState   = MOVING ATTACKING REALLYDAMAGED
19912      
19913      ; ---- dying 
19914      ConditionState        = DYING
19915        Animation           = UIRGrd_SKL.UIRGrd_DTA 
19916        Animation           = UIRGrd_SKL.UIRGrd_DTB 
19917        AnimationMode       = ONCE
19918        TransitionKey       = TRANS_Dying
19919      End
19920  
19921      TransitionState = TRANS_Dying TRANS_Flailing
19922        Animation = UIRGrd_SKL.UIRGrd_ADTE1
19923        AnimationMode = ONCE
19924      End
19925  
19926      ConditionState = DYING EXPLODED_FLAILING
19927        Animation = UIRGrd_SKL.UIRGrd_ADTE2
19928        AnimationMode = LOOP
19929        TransitionKey = TRANS_Flailing
19930      End
19931  
19932      ConditionState = DYING EXPLODED_BOUNCING
19933        Animation = UIRGrd_SKL.UIRGrd_ADTE3
19934        AnimationMode = ONCE
19935        TransitionKey = None
19936      End
19937      
19938      ConditionState = SPECIAL_CHEERING
19939        Animation = UIRGrd_SKL.UIRGrd_IDB
19940      End
19941  
19942      ; ---- firing
19943      ConditionState = USING_WEAPON_A
19944        Animation = UIRGrd_SKL.UIRGrd_ATA3
19945        AnimationMode = LOOP
19946        TransitionKey = TRANS_Firing
19947      End
19948  
19949      ConditionState = USING_WEAPON_A REALLYDAMAGED
19950        Animation = UIRGrd_SKL.UIRGrd_ATA2
19951        AnimationMode = LOOP
19952        TransitionKey = TRANS_FiringHurt
19953      End
19954  
19955      TransitionState = TRANS_Standing TRANS_Firing
19956        Animation = UIRGrd_SKL.UIRGrd_ATAST
19957        AnimationMode = ONCE
19958      End
19959  
19960      TransitionState = TRANS_Firing TRANS_Standing
19961        Animation = UIRGrd_SKL.UIRGrd_ATAED
19962        AnimationMode = ONCE
19963      End
19964  
19965      TransitionState = TRANS_StandingHurt TRANS_FiringHurt
19966        Animation = UIRGrd_SKL.UIRGrd_ATA2ED
19967        AnimationMode = ONCE_BACKWARDS
19968      End
19969  
19970      TransitionState = TRANS_FiringHurt TRANS_StandingHurt
19971        Animation = UIRGrd_SKL.UIRGrd_ATA2ED
19972        AnimationMode = ONCE
19973      End
19974  
19975      TransitionState = TRANS_Standing TRANS_StandingHurt
19976        Animation = UIRGrd_SKL.UIRGrd_ATA2ED
19977        AnimationMode = ONCE
19978      End
19979  
19980      
19981  
19982      ; ------- Bldg-capture
19983  
19984      ConditionState = UNPACKING
19985        Model             = UIRGrdTOXF_SKN
19986        Animation         = UIRGrd_F_SKL.UIRGrd_F_FDP1
19987        AnimationMode     = ONCE
19988      End
19989      AliasConditionState = UNPACKING REALLYDAMAGED
19990  
19991      ConditionState = RAISING_FLAG
19992        Model             = UIRGrdTOXF_SKN
19993        Animation         = UIRGrd_F_SKL.UIRGrd_F_FDP2
19994        AnimationMode     = ONCE
19995        TransitionKey     = TRANS_Raising
19996      End
19997      AliasConditionState = RAISING_FLAG REALLYDAMAGED
19998  
19999      ConditionState = PACKING
20000        Model             = UIRGrdTOXF_SKN
20001        Animation         = UIRGrd_F_SKL.UIRGrd_F_FDP1
20002        AnimationMode     = ONCE_BACKWARDS
20003        Flags             = START_FRAME_LAST
20004        TransitionKey     = TRANS_Packing
20005      End
20006      AliasConditionState = PACKING REALLYDAMAGED
20007  
20008      TransitionState = TRANS_Raising TRANS_Packing
20009        Model             = UIRGrdTOXF_SKN
20010        Animation         = UIRGrd_F_SKL.UIRGrd_F_FDP2
20011        AnimationMode     = ONCE_BACKWARDS
20012        Flags             = START_FRAME_LAST
20013      End
20014  
20015    End
20016  
20017    ; ***DESIGN parameters ***
20018    DisplayName         = OBJECT:Chem_Rebel
20019    Side                = GLAToxinGeneral
20020    EditorSorting       = INFANTRY
20021    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
20022   
20023   WeaponSet
20024      Conditions        = None
20025      Weapon            = PRIMARY     GC_Chem_GLARebelGunBeta
20026    End
20027    WeaponSet
20028      Conditions        = PLAYER_UPGRADE 
20029      Weapon            = PRIMARY     GC_Chem_GLARebelGunGamma
20030    End
20031  
20032    ArmorSet
20033      Conditions      = None
20034      Armor           = ChemReb_HumanArmor
20035      DamageFX        = InfantryDamageFX
20036    End
20037    VisionRange         = 150
20038    ShroudClearingRange = 300
20039    Prerequisites
20040      Object = Chem_GLABarracks
20041    End
20042    BuildCost = 200
20043    BuildTime = 5.0          ;in seconds  
20044  
20045    ExperienceValue     = 25 30 35 45     ;Experience point value at each level
20046    ExperienceRequired  = 0 40 60 120     ;Experience points needed to gain each level
20047    IsTrainable         = Yes             ;Can gain experience
20048    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
20049    CommandSet          = Chem_GLAInfantryRebelCommandSet
20050  
20051    ; *** AUDIO Parameters ***
20052    VoiceSelect = ToxinRebelVoiceSelect
20053    VoiceMove = RebelVoiceMove
20054    VoiceGuard = RebelVoiceMove
20055    VoiceAttack = ToxinRebelVoiceAttack
20056    SoundStealthOn = StealthOn
20057    SoundStealthOff = StealthOff
20058    VoiceFear = RebelVoiceFear
20059    VoiceTaskComplete = RebelVoiceCaptureComplete
20060    UnitSpecificSounds
20061      VoiceCreate = ToxinRebelVoiceCreate
20062      VoiceSubdue = RebelVoiceSubdue
20063      VoiceGarrison = RebelVoiceGarrison
20064      VoiceEnter = RebelVoiceMove
20065      VoiceEnterHostile = RebelVoiceMove
20066      VoiceGetHealed      = RebelVoiceMove
20067    End
20068  
20069    ; *** ENGINEERING Parameters ***
20070    RadarPriority = UNIT
20071    KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE 
20072  
20073    Body = ActiveBody ModuleTag_02
20074      MaxHealth       = 120.0
20075      InitialHealth   = 120.0
20076    End
20077  
20078    Behavior = AIUpdateInterface ModuleTag_03
20079      AutoAcquireEnemiesWhenIdle = Yes
20080    End
20081  
20082    Behavior = CommandButtonHuntUpdate  ModuleTag_04 ; allows use of command button hunt script with this unit. 
20083    End
20084  
20085    Locomotor = SET_NORMAL BasicHumanLocomotor
20086  
20087    Behavior = PhysicsBehavior ModuleTag_05
20088      Mass = 5.0
20089    End
20090    Behavior = StealthUpdate ModuleTag_07
20091      StealthDelay                = 2500 ; msec
20092      StealthForbiddenConditions  = ATTACKING USING_ABILITY
20093      MoveThresholdSpeed          = 3
20094      InnateStealth               = No ;Requires upgrade first
20095      OrderIdleEnemiesToAttackMeUponReveal  = Yes
20096    End
20097    Behavior = WeaponSetUpgrade ModuleTag_08
20098      TriggeredBy   = Chem_Upgrade_GLAAnthraxGamma
20099    End
20100  
20101    Behavior = WeaponBonusUpgrade ModuleTag_09
20102      TriggeredBy = Upgrade_GLAAPBullets
20103    End
20104    Behavior = StealthUpgrade ModuleTag_10
20105      TriggeredBy = Upgrade_GLACamouflage
20106    End
20107  
20108   
20109    Behavior = SquishCollide ModuleTag_11
20110      ;nothing
20111    End
20112  
20113      ClientUpdate        = AnimatedParticleSysBoneClientUpdate ModuleTag_12 
20114    End
20115    
20116  
20117  ; --- begin Death modules ---
20118    Behavior = SlowDeathBehavior ModuleTag_Death01
20119      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
20120      SinkDelay           = 3000
20121      SinkRate            = 0.5     ; in Dist/Sec
20122      DestructionDelay    = 8000
20123      FX                  = INITIAL FX_RebelDie
20124    End
20125    Behavior = SlowDeathBehavior ModuleTag_Death02
20126      DeathTypes          = NONE +CRUSHED +SPLATTED
20127      SinkDelay           = 3000
20128      SinkRate            = 0.5     ; in Dist/Sec
20129      DestructionDelay    = 8000
20130      FX                  = INITIAL FX_GIDieCrushed
20131    End
20132    Behavior = SlowDeathBehavior ModuleTag_Death03
20133      DeathTypes          = NONE +EXPLODED
20134      SinkDelay           = 3000
20135      SinkRate            = 0.5     ; in Dist/Sec
20136      DestructionDelay    = 8000
20137      FX                  = INITIAL FX_RebelDie
20138      FlingForce          = 8
20139      FlingForceVariance  = 3
20140      FlingPitch          = 60
20141      FlingPitchVariance  = 10
20142    End
20143    Behavior = SlowDeathBehavior ModuleTag_Death04
20144      DeathTypes          = NONE +BURNED
20145      DestructionDelay    = 0
20146      FX                  = INITIAL FX_DieByFireGLA
20147      OCL                 = INITIAL OCL_FlamingInfantry
20148    End
20149    Behavior = SlowDeathBehavior ModuleTag_Death05
20150      DeathTypes          = NONE +POISONED
20151      DestructionDelay    = 0
20152      FX                  = INITIAL FX_DieByToxinGLA
20153      OCL                 = INITIAL OCL_ToxicInfantry
20154    End
20155    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
20156      DeathTypes          = NONE +POISONED_BETA
20157      DestructionDelay    = 0
20158      FX                  = INITIAL FX_DieByToxinGLA
20159      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
20160    End
20161  
20162    Behavior = SlowDeathBehavior ModuleTag_Death07
20163      DeathTypes          = NONE +POISONED_GAMMA
20164      DestructionDelay    = 0
20165      FX                  = INITIAL FX_DieByToxinGLA
20166      OCL                 = INITIAL OCL_ToxicInfantryGamma
20167    End
20168  
20169  ; --- end Death modules ---
20170  
20171    Behavior = PoisonedBehavior ModuleTag_16
20172      PoisonDamageInterval = 100  ; Every this many msec I will retake the poison damage dealt me...
20173      PoisonDuration = 3000       ; ... for this long after last hit by poison damage
20174    End
20175  
20176    Behavior = SpecialAbility ModuleTag_17
20177      SpecialPowerTemplate      = SpecialAbilityRebelCaptureBuilding
20178      UpdateModuleStartsAttack  = Yes
20179      StartsPaused              = Yes
20180      InitiateSound         = RebelVoiceCapture
20181    End
20182    Behavior = SpecialAbilityUpdate ModuleTag_18
20183      SpecialPowerTemplate  = SpecialAbilityRebelCaptureBuilding
20184      StartAbilityRange  = 5.0
20185      UnpackTime            = 3000  ; (changing this will scale anim speed)
20186      PreparationTime       = 20000 ; time to complete hack once prepared (changing this will scale anim speed)
20187      PackTime              = 2000  ; (changing this will scale anim speed)
20188      DoCaptureFX           = Yes
20189      AwardXPForTriggering  = 12
20190      ;SkillPointsForTriggering = ???  -- Dustin, fill me out if you want different balance values.
20191    End
20192  
20193    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19
20194      SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding
20195      TriggeredBy = Upgrade_InfantryCaptureBuilding
20196    End
20197  
20198   
20199    Geometry = CYLINDER
20200    GeometryMajorRadius = 10.0
20201    GeometryMinorRadius = 10.0
20202    GeometryHeight = 12.0
20203    GeometryIsSmall = Yes
20204    Shadow = SHADOW_DECAL
20205    ShadowSizeX = 14;
20206    ShadowSizeY = 14;
20207    ShadowTexture = ShadowI;
20208    BuildCompletion = APPEARS_AT_RALLY_POINT
20209  
20210  End
20211  
20212  
20213  
20214  
20215  
20216  
20217  ;------------------------------------------------------------------------------
20218  Object Chem_ToxinStreamProjectile
20219  
20220  ; Explanation - Particles can't do damage, so this is a fast shooting low 
20221  ; damage invisible missile launcher with a toxin trail for exhaust
20222  
20223    ; *** ART Parameters ***
20224    Draw = W3DModelDraw ModuleTag_01
20225      DefaultConditionState
20226        Model = NONE 
20227      End
20228    End
20229    ; Must have a draw module to be allowed to draw detonation FX
20230  
20231    ; ***DESIGN parameters ***
20232    EditorSorting     = SYSTEM
20233    VisionRange       = 0.0  
20234    ArmorSet
20235      Conditions      = None
20236      Armor           = ProjectileArmor
20237      DamageFX        = None
20238    End
20239  
20240    ; *** ENGINEERING Parameters ***
20241    KindOf            = PROJECTILE
20242    Body              = ActiveBody ModuleTag_02
20243      MaxHealth       = 100.0
20244      InitialHealth   = 100.0
20245    End
20246  
20247    Behavior = DestroyDie ModuleTag_03
20248      ;nothing
20249    End
20250      
20251    Behavior = PhysicsBehavior ModuleTag_04
20252      Mass                = 1
20253      AllowCollideForce   = No  ; toxins collide, but never apply forces when they do so
20254    End
20255  
20256    Behavior = MissileAIUpdate ModuleTag_05
20257      TryToFollowTarget               = No 
20258      FuelLifetime                    = 500
20259      InitialVelocity                 = 120                ; in dist/sec
20260      IgnitionDelay                   = 0
20261      DistanceToTravelBeforeTurning   = 2
20262      GarrisonHitKillRequiredKindOf   = INFANTRY
20263      GarrisonHitKillForbiddenKindOf  = NONE
20264      GarrisonHitKillCount            = 2
20265      GarrisonHitKillFX               = FX_ToxinStreamGarrisonBuildingHit
20266    End
20267  
20268    Locomotor = SET_NORMAL ToxinTruckStreamLocomotor
20269  
20270    Behavior = BoneFXUpdate ModuleTag_06
20271      PristineParticleSystem1  = bone:NULL OnlyOnce:Yes  0  0 PSys:GC_Chem_ToxinTrail01 ; Covers gap at beginning of line
20272    End
20273  
20274    Behavior = BoneFXDamage ModuleTag_07
20275      ;nothing
20276    End
20277  
20278    Geometry = Sphere
20279    GeometryIsSmall = Yes
20280    GeometryMajorRadius = 2.0
20281  
20282  End
20283  
20284  ;------------------------------------------------------------------------------
20285  Object Chem_ToxinProjectileStream
20286  
20287    ; *** ART Parameters ***
20288    Draw = W3DProjectileStreamDraw ModuleTag_01
20289      Texture       = EXToxinStreamp.tga
20290      Width         = 1.5
20291      TileFactor    = 2.0 ; put the texture on the line segment this many times
20292      ScrollRate    = 6.0; scroll the texture offset this fast
20293      MaxSegments   = 14 ; only play the first X if there are a ton of them. 0 means play all
20294    End
20295  
20296    ; *** ENGINEERING Parameters ***
20297    KindOf = INERT
20298    Behavior = ProjectileStreamUpdate ModuleTag_02
20299      ;nothing
20300    End
20301  
20302  End
20303  
20304  Object Chem_GLAAirport
20305  
20306    ; *** ART Parameters ***
20307    SelectPortrait         = T4
20308    ButtonImage            = T4
20309    Draw = W3DModelDraw ModuleTag_01
20310  
20311      ExtraPublicBone = Runway1Parking1 
20312      ExtraPublicBone = Runway1Parking2 
20313      ExtraPublicBone = Runway2Parking1 
20314      ExtraPublicBone = Runway2Parking2 
20315      ExtraPublicBone = Runway1Park1Han
20316      ExtraPublicBone = Runway1Park2Han
20317      ExtraPublicBone = Runway2Park1Han
20318      ExtraPublicBone = Runway2Park2Han 
20319      ExtraPublicBone = Runway1Prep1 
20320      ExtraPublicBone = Runway1Prep2 
20321      ExtraPublicBone = Runway2Prep1 
20322      ExtraPublicBone = Runway2Prep2 
20323      ExtraPublicBone = RunwayStart1 
20324      ExtraPublicBone = RunwayStart2 
20325      ExtraPublicBone = RunwayEnd1 
20326      ExtraPublicBone = RunwayEnd2
20327      ExtraPublicBone = HeliPark01
20328  
20329      OkToChangeModelColor = Yes
20330  
20331      ; day ********************************************
20332      DefaultConditionState
20333        Model              = UBArFrcCmd
20334        Animation          = UBArFrcCmd.UBArFrcCmd
20335        AnimationMode      = LOOP
20336      End
20337      ConditionState       = DAMAGED
20338        Model              = UBArFrcCmd_D
20339        Animation          = UBArFrcCmd_D.UBArFrcCmd_D
20340        AnimationMode      = LOOP
20341        ParticleSysBone    = Smoke01 SmolderingSmoke
20342        ParticleSysBone    = Fire01 SmolderingFire
20343      End
20344      ConditionState       = REALLYDAMAGED RUBBLE
20345        Model              = UBArFrcCmd_E
20346        Animation          = UBArFrcCmd_E.UBArFrcCmd_E
20347        AnimationMode      = LOOP
20348        ParticleSysBone    = Smoke01 SmolderingSmoke
20349        ParticleSysBone    = Fire01 SmolderingFire
20350        ParticleSysBone    = Spark01 SparksLarge
20351      End
20352      
20353  
20354      ; night ******************************************
20355      ConditionState       = NIGHT
20356        Model              = UBArFrcCmd_N
20357        Animation          = UBArFrcCmd_N.UBArFrcCmd_N
20358        AnimationMode      = LOOP
20359      End
20360      ConditionState       = DAMAGED NIGHT
20361        Model              = UBArFrcCmd_DN
20362        Animation          = UBArFrcCmd_DN.UBArFrcCmd_DN
20363        AnimationMode      = LOOP
20364      End
20365      ConditionState       = REALLYDAMAGED RUBBLE NIGHT
20366        Model              = UBArFrcCmd_EN
20367        Animation          = UBArFrcCmd_EN.UBArFrcCmd_EN
20368        AnimationMode      = LOOP
20369      End
20370      
20371      
20372         ;**************************************************************************************************************************
20373      ;This block handles every possible case with construction process, selling process, awaiting construction, and sold states
20374      ;for this draw module
20375      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
20376        Model              = UBArFrcCmd
20377        Animation          = UBArFrcCmd.UBArFrcCmd
20378        AnimationMode      = LOOP
20379        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
20380      End
20381      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED DAMAGED
20382        Model              = UBArFrcCmd_D
20383        Animation          = UBArFrcCmd_D.UBArFrcCmd_D
20384        AnimationMode      = LOOP
20385        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
20386      End
20387      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED REALLYDAMAGED
20388        Model              = UBArFrcCmd_E
20389        Animation          = UBArFrcCmd_E.UBArFrcCmd_E
20390        AnimationMode      = LOOP
20391        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
20392      End
20393      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT
20394        Model              = UBArFrcCmd_N
20395        Animation          = UBArFrcCmd_N.UBArFrcCmd_N
20396        AnimationMode      = LOOP
20397        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
20398      End
20399      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT DAMAGED
20400        Model              = UBArFrcCmd_DN
20401        Animation          = UBArFrcCmd_DN.UBArFrcCmd_DN
20402        AnimationMode      = LOOP
20403        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
20404      End
20405      ConditionState       = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED NIGHT REALLYDAMAGED
20406        Model              = UBArFrcCmd_EN
20407        Animation          = UBArFrcCmd_EN.UBArFrcCmd_EN
20408        AnimationMode      = LOOP
20409        Flags              = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
20410      End
20411  
20412      ConditionState       = AWAITING_CONSTRUCTION 
20413        Model              = NONE
20414      End
20415      AliasConditionState  = AWAITING_CONSTRUCTION DAMAGED
20416      AliasConditionState  = AWAITING_CONSTRUCTION REALLYDAMAGED
20417      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT
20418      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT DAMAGED
20419      AliasConditionState  = AWAITING_CONSTRUCTION NIGHT REALLYDAMAGED
20420      AliasConditionState  = SOLD 
20421      AliasConditionState  = SOLD DAMAGED
20422      AliasConditionState  = SOLD REALLYDAMAGED
20423      AliasConditionState  = SOLD NIGHT
20424      AliasConditionState  = SOLD NIGHT DAMAGED
20425      AliasConditionState  = SOLD NIGHT REALLYDAMAGED
20426      ;**************************************************************************************************************************
20427  
20428    End
20429  
20430    ; ------------ construction-zone fence -----------------
20431    Draw = W3DModelDraw ModuleTag_07
20432    AnimationsRequirePower = No
20433      DefaultConditionState
20434        Model           = None
20435        TransitionKey   = DOWN_DEFAULT
20436      End
20437      ConditionState    = NIGHT
20438        Model           = None
20439        TransitionKey   = DOWN_DEFAULT
20440      End
20441  
20442      ConditionState    = AWAITING_CONSTRUCTION PARTIALLY_CONSTRUCTED ACTIVELY_BEING_CONSTRUCTED
20443        Model           = UBArFrcCmd_A4
20444        Animation       = UBArFrcCmd_A4.UBArFrcCmd_A4
20445        AnimationMode   = MANUAL
20446        Flags           = START_FRAME_LAST
20447        TransitionKey   = UP_DAY
20448        ParticleSysBone = SmokeS01 SmokeBuildingSmall
20449        ParticleSysBone = SparksS01 LiveWireSparks02
20450      End
20451  
20452      TransitionState   = DOWN_DEFAULT UP_DAY
20453        Model           = UBArFrcCmd_A4
20454        Animation       = UBArFrcCmd_A4.UBArFrcCmd_A4
20455        AnimationMode   = ONCE
20456        AnimationSpeedFactorRange = 1.0 1.0
20457        Flags           = START_FRAME_FIRST
20458      End
20459  
20460      TransitionState   = UP_DAY DOWN_DEFAULT
20461        Model           = UBArFrcCmd_A4
20462        Animation       = UBArFrcCmd_A4.UBArFrcCmd_A4
20463        AnimationMode   = ONCE_BACKWARDS
20464        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
20465        Flags           = START_FRAME_LAST
20466      End
20467   End
20468  
20469    ; ------------ under-construction scaffolding -----------------
20470    Draw = W3DModelDraw ModuleTag_08
20471    AnimationsRequirePower = No
20472      MinLODRequired = MEDIUM
20473      DefaultConditionState
20474        Model           = None
20475        TransitionKey   = DOWN_DEFAULT
20476      End
20477      ConditionState    = NIGHT
20478        Model           = None
20479        TransitionKey   = DOWN_DEFAULT
20480      End
20481      ConditionState    = SNOW
20482        Model           = None
20483        TransitionKey   = DOWN_DEFAULT
20484      End
20485      ConditionState    = SNOW NIGHT
20486        Model           = None
20487        TransitionKey   = DOWN_DEFAULT
20488      End
20489      ConditionState    = PARTIALLY_CONSTRUCTED
20490        Model           = UBPalace_A6
20491        Animation       = UBPalace_A6.UBPalace_A6
20492        AnimationMode   = MANUAL
20493        Flags           = START_FRAME_LAST
20494        TransitionKey   = UP_DAY
20495        ParticleSysBone = Dust01 BuildingDust
20496        ParticleSysBone = Smoke01 BuildUpSmoke
20497        ParticleSysBone = Smoke02 BuildUpSmoke
20498        ParticleSysBone = Smoke03 BuildUpSmoke
20499        ParticleSysBone = Smoke04 BuildUpSmoke
20500        ParticleSysBone = Smoke05 BuildUpSmoke
20501      End
20502      ConditionState    = NIGHT PARTIALLY_CONSTRUCTED
20503        Model           = UBPalace_A6N
20504        Animation       = UBPalace_A6N.UBPalace_A6N
20505        AnimationMode   = MANUAL
20506        Flags           = START_FRAME_LAST
20507        TransitionKey   = UP_NIGHT
20508        ParticleSysBone = Dust01 BuildingDust
20509        ParticleSysBone = Smoke01 BuildUpSmoke
20510        ParticleSysBone = Smoke02 BuildUpSmoke
20511        ParticleSysBone = Smoke03 BuildUpSmoke
20512        ParticleSysBone = Smoke04 BuildUpSmoke
20513        ParticleSysBone = Smoke05 BuildUpSmoke
20514      End
20515      ConditionState    = SNOW PARTIALLY_CONSTRUCTED
20516        Model           = UBPalace_A6S
20517        Animation       = UBPalace_A6S.UBPalace_A6S
20518        AnimationMode   = MANUAL
20519        Flags           = START_FRAME_LAST
20520        TransitionKey   = UP_SNOW
20521        ParticleSysBone = Dust01 BuildingSnowDust
20522        ParticleSysBone = Smoke01 BuildUpSnowSmoke
20523        ParticleSysBone = Smoke02 BuildUpSnowSmoke
20524        ParticleSysBone = Smoke03 BuildUpSnowSmoke
20525        ParticleSysBone = Smoke04 BuildUpSnowSmoke
20526        ParticleSysBone = Smoke05 BuildUpSnowSmoke
20527      End
20528      ConditionState    = SNOW NIGHT PARTIALLY_CONSTRUCTED
20529        Model           = UBPalace_A6SN
20530        Animation       = UBPalace_A6SN.UBPalace_A6SN
20531        AnimationMode   = MANUAL
20532        Flags           = START_FRAME_LAST
20533        TransitionKey   = UP_SNOWNIGHT
20534        ParticleSysBone = Dust01 BuildingNightSnowDust
20535        ParticleSysBone = Smoke01 BuildUpNightSnowSmoke
20536        ParticleSysBone = Smoke02 BuildUpNightSnowSmoke
20537        ParticleSysBone = Smoke03 BuildUpNightSnowSmoke
20538        ParticleSysBone = Smoke04 BuildUpNightSnowSmoke
20539        ParticleSysBone = Smoke05 BuildUpNightSnowSmoke
20540      End
20541      TransitionState   = DOWN_DEFAULT UP_DAY
20542       Model            = UBPalace_A6
20543        Animation       = UBPalace_A6.UBPalace_A6
20544        AnimationMode   = ONCE
20545        AnimationSpeedFactorRange = 1.0 1.0
20546        Flags           = START_FRAME_FIRST
20547      End
20548      TransitionState   = DOWN_DEFAULT UP_NIGHT
20549       Model            = UBPalace_A6N
20550        Animation       = UBPalace_A6N.UBPalace_A6N
20551        AnimationMode   = ONCE
20552        AnimationSpeedFactorRange = 1.0 1.0
20553        Flags           = START_FRAME_FIRST
20554      End
20555      TransitionState   = DOWN_DEFAULT UP_SNOW
20556       Model            = UBPalace_A6S
20557        Animation       = UBPalace_A6S.UBPalace_A6S
20558        AnimationMode   = ONCE
20559        AnimationSpeedFactorRange = 1.0 1.0
20560        Flags           = START_FRAME_FIRST
20561      End
20562      TransitionState   = DOWN_DEFAULT UP_SNOWNIGHT
20563       Model            = UBPalace_A6SN
20564        Animation       = UBPalace_A6SN.UBPalace_A6SN
20565        AnimationMode   = ONCE
20566        AnimationSpeedFactorRange = 1.0 1.0
20567        Flags           = START_FRAME_FIRST
20568      End
20569      TransitionState   = UP_DAY DOWN_DEFAULT
20570        Model           = UBPalace_A6
20571        Animation       = UBPalace_A6.UBPalace_A6
20572        AnimationMode   = ONCE_BACKWARDS
20573        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
20574        Flags           = START_FRAME_LAST
20575      End
20576      TransitionState   = UP_NIGHT DOWN_DEFAULT
20577        Model           = UBPalace_A6N
20578        Animation       = UBPalace_A6N.UBPalace_A6N
20579        AnimationMode   = ONCE_BACKWARDS
20580        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
20581        Flags           = START_FRAME_LAST
20582      End
20583      TransitionState   = UP_SNOW DOWN_DEFAULT
20584        Model           = UBPalace_A6S
20585        Animation       = UBPalace_A6S.UBPalace_A6S
20586        AnimationMode   = ONCE_BACKWARDS
20587        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
20588        Flags           = START_FRAME_LAST
20589      End
20590      TransitionState   = UP_SNOWNIGHT DOWN_DEFAULT
20591        Model           = UBPalace_A6SN
20592        Animation       = UBPalace_A6SN.UBPalace_A6SN
20593        AnimationMode   = ONCE_BACKWARDS
20594        AnimationSpeedFactorRange = 2.0 2.0   ; play teardown animations more quickly
20595        Flags           = START_FRAME_LAST
20596      End
20597    End
20598  
20599    ; ------------ being-constructed crane -----------------
20600    Draw = W3DModelDraw ModuleTag_09
20601    AnimationsRequirePower = No
20602      DefaultConditionState
20603        Model           = None
20604        TransitionKey   = DOWN_DEFAULT
20605      End
20606      ConditionState    = NIGHT
20607        Model           = None
20608        TransitionKey   = DOWN_DEFAULT
20609      End
20610  
20611      ConditionState    = SOLD
20612        Model           = NONE
20613      End
20614  
20615      ConditionState    = ACTIVELY_BEING_CONSTRUCTED
20616        Model           = UBArFrcCmd_A5
20617        Animation       = UBArFrcCmd_A5.UBArFrcCmd_A5
20618        AnimationMode   = LOOP
20619        TransitionKey   = UP_DAY
20620      End
20621  
20622    End
20623  
20624    PlacementViewAngle = -45
20625  
20626    ; ***DESIGN parameters ***
20627    DisplayName      = OBJECT:Airfield
20628    Side             = GLAToxinGeneral
20629    EditorSorting    = STRUCTURE
20630    Prerequisites
20631      Object = Chem_GLASupplyStash
20632    End
20633  
20634    BuildCost           = 1000
20635    BuildTime           = 30.0           ; in seconds
20636    EnergyProduction    = 0
20637    CommandSet          = Chem_GLAAirPortCommandSet
20638    VisionRange         = 200.0           ; Shroud clearing distance
20639    ShroudClearingRange = 200
20640    ArmorSet
20641      Conditions        = None
20642      Armor             = StructureArmor
20643      DamageFX          = StructureDamageFXNoShake
20644    End
20645    ExperienceValue     = 150 150 150 150  ; Experience point value at each level
20646  
20647    ; *** AUDIO Parameters ***
20648    VoiceSelect = WarFactoryGLASelect
20649    SoundOnDamaged        = BuildingDamagedStateLight
20650    SoundOnReallyDamaged  = BuildingDestroy
20651  
20652    UnitSpecificSounds
20653      UnderConstruction     = UnderConstructionLoop
20654    End
20655  
20656    ; *** ENGINEERING Parameters ***
20657    RadarPriority       = STRUCTURE
20658    KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE CAPTURABLE FS_FACTORY MP_COUNT_FOR_VICTORY AUTO_RALLYPOINT FS_AIRFIELD
20659    Body                = StructureBody ModuleTag_10
20660      MaxHealth         = 2000.0
20661      InitialHealth     = 2000.0
20662  
20663      ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
20664      ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
20665      SubdualDamageCap = 1700
20666      SubdualDamageHealRate = 500
20667      SubdualDamageHealAmount = 100
20668    End
20669    
20670    Behavior = ParkingPlaceBehavior ModuleTag_11
20671      HealAmountPerSecond     = 20
20672      NumRows                 = 2
20673      NumCols                 = 2
20674      HasRunways              = Yes
20675      ApproachHeight          = 50
20676      ParkInHangars           = Yes
20677    End
20678  
20679    Behavior = ProductionUpdate ModuleTag_12
20680      NumDoorAnimations            = 4
20681  ;    DoorOpeningTime              = 2000  ;in mSeconds
20682  ;    DoorWaitOpenTime             = 3000  ;in mSeconds
20683  ;    DoorCloseTime                = 2000  ;in mSeconds
20684      ConstructionCompleteDuration = 100  ;in mSeconds
20685    End
20686  
20687    Behavior = BaseRegenerateUpdate ModuleTag_13
20688      ;No data
20689    End 
20690  
20691    Behavior = DestroyDie ModuleTag_14
20692      ;nothing
20693    End
20694    Behavior             = CreateObjectDie ModuleTag_15
20695      CreationList  = OCL_ABPowerPlantExplode
20696    End
20697  
20698    Behavior             = FXListDie ModuleTag_17
20699      DeathFX       = FX_StructureMediumDeath
20700    End
20701  
20702    Behavior = FlammableUpdate ModuleTag_19
20703      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
20704      AflameDamageAmount = 5       ; taking this much damage...
20705      AflameDamageDelay = 500       ; this often.
20706    End
20707  
20708    Behavior = TransitionDamageFX ModuleTag_31
20709      ;-------------DESIGNED FOR MEDIUM SIZED FACTION BUILDING TRANSITIONS-------------------
20710      DamagedParticleSystem1       = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
20711      ;---------------------------------------------------------------------------------------
20712      ReallyDamagedParticleSystem1 = Bone:None RandomBone:No PSys:StructureTransitionMediumSmoke
20713      ReallyDamagedParticleSystem2 = Bone:None RandomBone:No PSys:StructureTransitionMediumExplosion
20714      ReallyDamagedParticleSystem3 = Bone:None RandomBone:No PSys:StructureTransitionMediumShockwave
20715    End
20716  
20717    Geometry            = BOX
20718    GeometryMajorRadius = 75.0
20719    GeometryMinorRadius = 60.0
20720    GeometryHeight      = 30.0
20721    GeometryIsSmall     = No
20722    FactoryExitWidth    = 25
20723    Shadow          = SHADOW_VOLUME
20724    BuildCompletion = PLACED_BY_PLAYER
20725  
20726  End
20727  
20728  Object ToxinTrooper
20729  
20730   
20731      ; *** ART Parameters ***
20732    SelectPortrait           = T24
20733    ButtonImage              = T24
20734    Draw = W3DModelDraw ModuleTag_01
20735      OkToChangeModelColor = Yes
20736  
20737      ;NORMAL STANDING
20738      DefaultConditionState
20739        Model = AITECH_SKN
20740        IdleAnimation = AITECH_SKL.AITECH_STA 0 21
20741        ;Regular spice animations
20742        IdleAnimation = AITECH_SKL.AITECH_IDA
20743        IdleAnimation = AITECH_SKL.AITECH_IDB
20744        AnimationMode = ONCE
20745        WeaponLaunchBone = PRIMARY BIOGUNFX
20746        TransitionKey = TRANS_Stand
20747      End
20748  
20749      ; NORMAL ATTACK
20750      ConditionState = FIRING_A
20751        Animation = AITECH_SKL.AITECH_ATA
20752        AnimationMode = LOOP
20753        TransitionKey = TRANS_FiringA
20754      End
20755      AliasConditionState = BETWEEN_FIRING_SHOTS_A
20756      AliasConditionState = RELOADING_A
20757      AliasConditionState = FIRING_A REALLYDAMAGED
20758      AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
20759      AliasConditionState = RELOADING_A REALLYDAMAGED
20760  
20761  
20762      ConditionState = MOVING FIRING_A 
20763        Animation = AITECH_SKL.AITECH_WKB 15
20764        AnimationMode = LOOP
20765        Flags = RANDOMSTART
20766        TransitionKey = None
20767        ParticleSysBone     = None InfantryDustTrails
20768      End
20769      AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
20770      AliasConditionState = MOVING RELOADING_A
20771  
20772      ConditionState = MOVING
20773        Animation = AITECH_SKL.AITECH_WKA 15
20774        AnimationMode = LOOP
20775        Flags = RANDOMSTART
20776        TransitionKey = None
20777        ParticleSysBone     = None InfantryDustTrails
20778      End
20779  
20780      ConditionState = DYING
20781        Animation = AITECH_SKL.AITECH_DTA
20782        Animation = AITECH_SKL.AITECH_DTB
20783        AnimationMode = ONCE
20784        TransitionKey = TRANS_Dying
20785      End
20786  
20787      TransitionState = TRANS_Dying TRANS_Flailing
20788        Animation = AITECH_SKL.AITECH_ADTD1
20789        AnimationMode = ONCE
20790      End
20791  
20792      ConditionState = DYING EXPLODED_FLAILING
20793        Animation = AITECH_SKL.AITECH_ADTD2
20794        AnimationMode = LOOP
20795        TransitionKey = TRANS_Flailing
20796      End
20797  
20798      ConditionState = DYING EXPLODED_BOUNCING
20799        Animation = AITECH_SKL.AITECH_ADTD3
20800        AnimationMode = ONCE
20801        TransitionKey = None
20802      End
20803  
20804      ConditionState = SPECIAL_CHEERING
20805        Animation = AITECH_SKL.AITECH_CHA
20806        AnimationMode = LOOP
20807      End
20808  
20809      ;PARACHUTING ANIMATIONS
20810      ConditionState = FREEFALL
20811        Animation = AITECH_SKL.AITECH_PFL
20812        AnimationMode = LOOP
20813        TransitionKey = TRANS_Falling
20814      End
20815      AliasConditionState = FREEFALL REALLYDAMAGED
20816      AliasConditionState = FREEFALL DYING
20817      ConditionState = PARACHUTING
20818        Animation = AITECH_SKL.AITECH_PHG
20819        AnimationMode = LOOP
20820        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
20821        TransitionKey = TRANS_Chute
20822      End
20823      AliasConditionState = PARACHUTING REALLYDAMAGED
20824      AliasConditionState = PARACHUTING DYING
20825      TransitionState = TRANS_Falling TRANS_Chute
20826        Animation = AITECH_SKL.AITECH_POP
20827        AnimationMode = ONCE
20828        Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME  ; our bone positions should come from the last frame, rather than the first
20829      End
20830      TransitionState = TRANS_Chute TRANS_Stand
20831        Animation = AITECH_SKL.AITECH_PDN
20832        AnimationMode = ONCE
20833      End
20834  
20835    End
20836  
20837    ; ***DESIGN parameters ***
20838    DisplayName         = OBJECT:BioHazardTech
20839    Side                = GLAToxinGeneral
20840    EditorSorting       = INFANTRY
20841    TransportSlotCount  = 1                 ;how many "slots" we take in a transport (0 == not transportable)
20842    
20843    WeaponSet 
20844      ;*** Fully automated and driven by the CleanupHazardUpdate ***
20845      Conditions        = None 
20846      Weapon            = PRIMARY BioHazardTechCleanHazardWeapon 
20847      AutoChooseSources = PRIMARY NONE
20848      Weapon = SECONDARY DragonTankFlameWeaponUpgraded
20849    End
20850    ArmorSet
20851      Conditions      = None
20852      Armor           = HazMatHumanArmor
20853      DamageFX        = InfantryDamageFX
20854    End
20855  
20856    VisionRange = 100
20857    ShroudClearingRange = 400
20858    Prerequisites
20859      Object = Chem_GLAPalace
20860    End
20861    BuildCost = 500
20862    BuildTime = 10.0          ;in seconds  
20863    
20864    ExperienceValue = 50 100 150 400    ;Experience point value at each level
20865    ExperienceRequired = 0 150 450 900  ;Experience points needed to gain each level
20866    IsTrainable = Yes             ;Can gain experience
20867    CrushableLevel      = 0  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
20868    CommandSet          = AmericaInfantryHazMatCommandSet
20869  
20870    ; *** AUDIO Parameters ***
20871    VoiceSelect   = NoSound
20872    VoiceMove     = NoSound
20873    VoiceAttack   = NoSound
20874    UnitSpecificFX
20875      ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
20876    End
20877  
20878    ; *** ENGINEERING Parameters ***
20879    RadarPriority = UNIT
20880    KindOf = PRELOAD SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS INFANTRY SCORE
20881  
20882    Body = ActiveBody ModuleTag_02
20883  
20884      MaxHealth       = 100.0
20885      InitialHealth   = 100.0
20886    End
20887  
20888    Behavior = CleanupHazardUpdate ModuleTag_03
20889      WeaponSlot            = PRIMARY
20890      ScanRate              = 1000
20891      ScanRange             = 100.0
20892    End
20893  
20894    ;Can be ordered to clean up a larger area with the ability to move around at an extended range.
20895    Behavior = CleanupAreaPower ModuleTag_04
20896      SpecialPowerTemplate          = SpecialAbilityAmbulanceCleanupArea
20897      MaxMoveDistanceFromLocation   = 300.0 ;allows the unit to move around while cleaning up
20898    End
20899  
20900    Behavior = AIUpdateInterface ModuleTag_05
20901      AutoAcquireEnemiesWhenIdle = No
20902    End
20903    Behavior = AutoFindHealingUpdate   ModuleTag_06 ; This update will have the unit go to a healing station if injured. jba 
20904      ScanRate = 1000 ; once a second.
20905      ScanRange = 300 ;
20906      NeverHeal = 0.85 ;  don't heal if we are > 85% healthy.
20907      AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
20908    End
20909  
20910    Locomotor = SET_NORMAL CINE_HazMatHumanLocomotor
20911  
20912    Behavior = ExperienceScalarUpgrade ModuleTag_07
20913      TriggeredBy = Upgrade_AmericaAdvancedTraining
20914      AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
20915    End
20916  
20917    Behavior = PhysicsBehavior ModuleTag_08
20918      Mass = 5.0
20919    End
20920    Behavior = ProductionUpdate ModuleTag_09
20921      ; nothing
20922    End
20923  
20924    Behavior = SquishCollide ModuleTag_10
20925      ;nothing
20926    End
20927  
20928  ; --- begin Death modules ---
20929    Behavior = SlowDeathBehavior ModuleTag_Death01
20930      DeathTypes          = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA
20931      SinkDelay           = 3000
20932      SinkRate            = 0.5     ; in Dist/Sec
20933      DestructionDelay    = 8000
20934      FX                  = INITIAL FX_RebelDie
20935    End
20936    Behavior = SlowDeathBehavior ModuleTag_Death02
20937      DeathTypes          = NONE +CRUSHED +SPLATTED
20938      SinkDelay           = 3000
20939      SinkRate            = 0.5     ; in Dist/Sec
20940      DestructionDelay    = 8000
20941      FX                  = INITIAL FX_GIDieCrushed
20942    End
20943    Behavior = SlowDeathBehavior ModuleTag_Death03
20944      DeathTypes          = NONE +EXPLODED
20945      SinkDelay           = 3000
20946      SinkRate            = 0.5     ; in Dist/Sec
20947      DestructionDelay    = 8000
20948      FX                  = INITIAL FX_RebelDie
20949      FlingForce          = 8
20950      FlingForceVariance  = 3
20951      FlingPitch          = 60
20952      FlingPitchVariance  = 10
20953    End
20954    Behavior = SlowDeathBehavior ModuleTag_Death04
20955      DeathTypes          = NONE +BURNED
20956      DestructionDelay    = 0
20957      FX                  = INITIAL FX_RebelDie
20958      OCL                 = INITIAL OCL_FlamingInfantry
20959    End
20960    Behavior = SlowDeathBehavior ModuleTag_Death05
20961      DeathTypes          = NONE +POISONED
20962      DestructionDelay    = 0
20963      FX                  = INITIAL FX_DieByToxinGLA
20964      OCL                 = INITIAL OCL_ToxicInfantry
20965    End
20966    Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
20967      DeathTypes          = NONE +POISONED_BETA
20968      DestructionDelay    = 0
20969      FX                  = INITIAL FX_DieByToxinGLA
20970      OCL                 = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
20971    End
20972    Behavior = SlowDeathBehavior ModuleTag_Death07
20973      DeathTypes          = NONE +POISONED_GAMMA
20974      DestructionDelay    = 0
20975      FX                  = INITIAL FX_DieByToxinGLA
20976      OCL                 = INITIAL OCL_ToxicInfantryGamma
20977    End
20978  ; --- end Death modules ---
20979  
20980    Geometry = CYLINDER
20981    GeometryMajorRadius = 10.0
20982    GeometryMinorRadius = 10.0
20983    GeometryHeight = 13.0
20984  
20985    GeometryIsSmall = Yes
20986    Shadow = SHADOW_DECAL
20987    ShadowSizeX = 14;
20988    ShadowSizeY = 14;
20989    ShadowTexture = ShadowI;
20990    BuildCompletion = APPEARS_AT_RALLY_POINT
20991  End
20992  ;------------------------------------------------------------------------------
20993  Object GLAjetMIG29
20994  
20995    ; *** ART Parameters ***
20996    SelectPortrait         = T18
20997    ButtonImage            = T18
20998    
20999    ;UpgradeCameo1 = Upgrade_ChinaAircraftArmor
21000    ;UpgradeCameo2 = Upgrade_ChinaBlackNapalm
21001    ;UpgradeCameo3 = NONE
21002    ;UpgradeCameo4 = NONE
21003    ;UpgradeCameo5 = NONE
21004    
21005    Draw = W3DModelDraw ModuleTag_01
21006  
21007      OkToChangeModelColor = Yes
21008  
21009      DefaultConditionState
21010        Model               = Mig-29B
21011        HideSubObject       = BurnerFX01 BurnerFX02
21012        WeaponLaunchBone    = PRIMARY WeaponA
21013      End
21014  
21015      ConditionState        = JETEXHAUST
21016        ParticleSysBone     = Wingtip01 JetContrail
21017        ParticleSysBone     = Wingtip02 JetContrail
21018      End
21019  
21020      ConditionState       = JETEXHAUST JETAFTERBURNER
21021        ShowSubObject      = BurnerFX01 BurnerFX02
21022        ParticleSysBone     = Exhaust01 JetExhaust
21023        ParticleSysBone     = Exhaust02 JetExhaust
21024        ParticleSysBone     = Wingtip01 JetContrail
21025        ParticleSysBone     = Wingtip02 JetContrail
21026      End
21027  
21028      ConditionState        = REALLYDAMAGED
21029        Model               = Mig-29B
21030        ParticleSysBone     = Wingtip01 JetContrail
21031        ParticleSysBone     = Wingtip02 JetContrail
21032      End
21033  
21034      ConditionState        = RUBBLE
21035        Model               = Mig-29B
21036      End
21037  
21038      ConditionState        = REALLYDAMAGED JETEXHAUST
21039        Model               = Mig-29B
21040        ParticleSysBone     = Wingtip01 JetContrail
21041        ParticleSysBone     = Wingtip02 JetContrail
21042      End
21043  
21044      ConditionState        = REALLYDAMAGED JETEXHAUST JETAFTERBURNER
21045        Model               = Mig-29B
21046        ShowSubObject       = BurnerFX01 BurnerFX02
21047        ParticleSysBone     = Engine01 JetExhaust
21048        ParticleSysBone     = Engine02 JetExhaust
21049        ParticleSysBone     = Wingtip01 JetContrail
21050        ParticleSysBone     = Wingtip02 JetContrail
21051      End
21052  
21053      ConditionState        = RUBBLE JETEXHAUST JETAFTERBURNER
21054        ; @todo srj -- model missing
21055        ;Model              = Mig-29B
21056        Model               = Mig-29B
21057        ;HideSubObject is needed cause there're inherited from default condition state      
21058        HideSubObject       = None 
21059        ShowSubObject       = None
21060        ParticleSysBone     = Engine01 JetExhaust
21061        ParticleSysBone     = Engine02 JetExhaust
21062        ParticleSysBone     = Wingtip01 JetContrail
21063        ParticleSysBone     = Wingtip02 JetContrail
21064      End
21065  
21066    End
21067  
21068    ; ***DESIGN parameters ***
21069    DisplayName             = OBJECT:MIG29
21070    EditorSorting           = VEHICLE
21071    Side                    = GLAToxinGeneral
21072    TransportSlotCount      = 0          ;how many "slots" we take in a transport (0 == not transportable)
21073    VisionRange             = 200.0 
21074    ShroudClearingRange     = 300.0
21075  
21076    Prerequisites
21077      Object                = Chem_GLAPalace
21078    End
21079  
21080    WeaponSet
21081      Conditions        = None 
21082      Weapon            = PRIMARY     MIG29Weapon
21083  ;    AutoChooseSources = PRIMARY     NONE
21084    End
21085   
21086  
21087    ArmorSet
21088      Conditions           = None
21089      Armor                = AirplaneArmor
21090      DamageFX             = None
21091    End
21092  
21093    BuildCost               = 1200
21094    BuildTime               = 10   
21095    ExperienceValue         = 50 50 100 150   ;Experience point value at each level
21096    ExperienceRequired      = 0 100 200 400  ;Experience points needed to gain each level
21097    IsTrainable = Yes             ;Can gain experience
21098    CrusherLevel           = 1  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
21099    CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
21100    CommandSet             = ChinaJetMIGCommandSet
21101  
21102    ; *** AUDIO Parameters ***
21103    VoiceSelect             = MigVoiceSelect
21104    VoiceMove               = MigVoiceMove
21105    VoiceAttack             = MigVoiceAttack
21106    VoiceAttackAir          = MigVoiceAttackAir
21107    VoiceGuard              = MigVoiceAirPatrol
21108    SoundAmbient            = MigAmbientLoop
21109    UnitSpecificSounds
21110      VoiceCreate           = MigVoiceCreate
21111      Afterburner           = RaptorAfterburner
21112      VoiceGarrison         = MigVoiceMove
21113    End
21114  
21115    ; *** ENGINEERING Parameters ***
21116    RadarPriority          = UNIT
21117    KindOf                 = PRELOAD CAN_CAST_REFLECTIONS CAN_ATTACK SELECTABLE VEHICLE SCORE AIRCRAFT
21118    Body                   = ActiveBody ModuleTag_02
21119      MaxHealth            = 160.0
21120      InitialHealth        = 160.0
21121    End
21122  
21123    Behavior                          = JetSlowDeathBehavior ModuleTag_03
21124      FXOnGroundDeath                 = FX_JetOnGroundDeath
21125      OCLOnGroundDeath                = OCL_MIGDeathFinalBlowUp
21126      DestructionDelay                = 99999999  ; destruction will happen when we
21127      RollRate                        = 0.2
21128      RollRateDelta                   = 100%      ;each frame, rollrate = rollrate * rollrateDelta
21129      PitchRate                       = 0.0
21130      FallHowFast                     = 110.0%    ;Bigger is faster (can be over 100%,it's a fraction of gravity)
21131      FXInitialDeath                  = FX_MigDeathInitial
21132      OCLInitialDeath                 = OCL_MIGDeathInitial
21133      DelaySecondaryFromInitialDeath  = 500       ; in milliseconds
21134      FXSecondary                     = FX_JetDeathSecondary
21135      OCLSecondary                    = OCL_MIGDeathSecondary
21136      FXHitGround                     = FX_JetDeathHitGround
21137      OCLHitGround                    = OCL_MIGDeathHitGround
21138      DelayFinalBlowUpFromHitGround   = 200       ; in milliseconds
21139      FXFinalBlowUp                   = FX_JetDeathFinalBlowUp
21140      OCLFinalBlowUp                  = OCL_MIGDeathFinalBlowUp
21141    End
21142  
21143    Behavior = WeaponSetUpgrade ModuleTag_04
21144      TriggeredBy = Upgrade_ChinaBlackNapalm
21145    End
21146  
21147    Behavior = PhysicsBehavior ModuleTag_05
21148      Mass = 500.0
21149    End
21150  
21151    Behavior = JetAIUpdate ModuleTag_06
21152      OutOfAmmoDamagePerSecond  = 10%     ; amount of damage to take per SEC (not per frame) when out of ammo
21153                                          ; note that it's expressed as a percent of max health, not an absolute
21154      TakeoffDistForMaxLift     = 0%   ; larger numbers give more lift sooner when taking off
21155      TakeoffPause              = 500
21156      MinHeight                 = 5
21157      ReturnToBaseIdleTime      = 10000         ; if idle for this long, return to base, even if not out of ammo
21158    End
21159  
21160    Locomotor = SET_NORMAL MIGLocomotor
21161    Locomotor = SET_TAXIING BasicJetTaxiLocomotor
21162  
21163  
21164    Behavior = FlammableUpdate ModuleTag_08
21165      AflameDuration = 5000        ; If I catch fire, I'll burn for this long...
21166      AflameDamageAmount = 3       ; taking this much damage...
21167      AflameDamageDelay = 500      ; this often.
21168    End
21169  
21170    Behavior                       = TransitionDamageFX ModuleTag_09
21171      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes Psys:SmokeSmallContinuous01
21172      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_MIGDamageTransition
21173    End
21174  
21175    Behavior        = MaxHealthUpgrade ModuleTag_10
21176      TriggeredBy   = Upgrade_ChinaAircraftArmor
21177      AddMaxHealth  = 40.0
21178      ChangeType    = ADD_CURRENT_HEALTH_TOO   ;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
21179    End
21180  
21181  
21182  
21183    Geometry                 = Box
21184    GeometryIsSmall          = Yes
21185    GeometryMajorRadius      = 14.0
21186    GeometryMinorRadius      = 7.0
21187    GeometryHeight           = 5.0
21188    Shadow                   = SHADOW_VOLUME
21189    
21190    Shadow = SHADOW_VOLUME
21191    ShadowSizeX = 89  ; minimum elevation angle above horizon. Used to limit shadow length
21192  
21193  End
21194  Object RUSHIND
21195  
21196    ; *** ART Parameters ***
21197    SelectPortrait         = T22
21198    ButtonImage            = T22
21199    
21200    ;UpgradeCameo1 = Upgrade_ComancheRocketPods
21201    ;UpgradeCameo2 = NONE
21202    ;UpgradeCameo3 = NONE
21203    ;UpgradeCameo4 = NONE
21204    ;UpgradeCameo5 = NONE
21205  
21206    Draw = W3DModelDraw                         ModuleTag_01 ; Helicopter 
21207  
21208      ExtraPublicBone = RopeStart
21209      ExtraPublicBone = RopeEnd
21210  
21211      DefaultConditionState
21212        Model = RvMi24
21213        Animation = RvMi24.RvMi24
21214        AnimationMode = LOOP
21215      End
21216  
21217      ConditionState = REALLYDAMAGED
21218        Model = RvMi24
21219        Animation = RvMi24.RvMi24
21220        AnimationMode = LOOP
21221      End
21222  
21223      ConditionState = RUBBLE
21224        Model = RvMi24
21225        Animation = RvMi24.RvMi24
21226        AnimationMode = LOOP
21227      End
21228  
21229      ConditionState = RUBBLE SPECIAL_DAMAGED
21230        Model = RvMi24
21231        HideSubObject = Props01
21232        HideSubObject = Props02
21233      End
21234  
21235      OkToChangeModelColor = Yes
21236    End
21237  
21238    Draw = W3DModelDraw                         ModuleTag_02 ; Cargo net 
21239      ConditionState = NONE
21240        Model = None  ; Nothing here
21241        TransitionKey = TRANS_Empty
21242        WaitForStateToFinishIfPossible = TRANS_Unloading
21243      End
21244  
21245      ConditionState = DYING 
21246        Model = None  ; Nothing here
21247      End
21248      AliasConditionState = RUBBLE
21249      AliasConditionState = CARRYING RUBBLE
21250      AliasConditionState = DOCKING RUBBLE
21251      AliasConditionState = DOCKING CARRYING RUBBLE
21252   
21253       ConditionState = CARRYING
21254        Model = AVChinook_A ;Carrying a full wobbly net of stuff
21255        Animation = AVChinook_A.AVChinook_A
21256        AnimationMode = LOOP
21257        TransitionKey = TRANS_Full
21258        WaitForStateToFinishIfPossible = TRANS_PickingUp
21259      End
21260  
21261      ConditionState = DOCKING
21262        Model = AVChinook_A1MSH ;Lowering an empty net, pulling up with stuff
21263        Animation = AVChinook_A1SK.AVChinook_A1
21264        AnimationMode = ONCE_BACKWARDS
21265        Flags = START_FRAME_LAST
21266        AnimationSpeedFactorRange = .75 .75
21267        TransitionKey = TRANS_PickingUp
21268        WaitForStateToFinishIfPossible = TRANS_Unloading  ;Trick.  Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
21269      End
21270  
21271      ConditionState = DOCKING CARRYING
21272        Model = AVChinook_A1MSH ; Lowering a full net, letting stuff fall out, and pulling up an empty net
21273        Animation = AVChinook_A1SK.AVChinook_A1
21274        AnimationMode = ONCE
21275        AnimationSpeedFactorRange = 2.75 2.75
21276        TransitionKey = TRANS_Unloading
21277        WaitForStateToFinishIfPossible = TRANS_PickingUp  ;Trick.  Without hardcoding the difference between what we are docking with, need to use DOCKING for both.
21278      End
21279    End
21280  
21281    ; ***DESIGN parameters ***
21282    DisplayName         = OBJECT:MI24
21283    EditorSorting       = VEHICLE
21284    Side                = GLAToxinGeneral
21285    TransportSlotCount  = 0                 ;how many "slots" we take in a transport (0 == not transportable)
21286    VisionRange         = 300.0 
21287    ShroudClearingRange = 600
21288    BuildCost           = 1500
21289    BuildTime           = 20.0          ;in seconds  
21290    Prerequisites
21291      Object = Chem_GLAAirport
21292    End
21293    ExperienceValue     = 60 60 60 60 ;Experience point value at each level
21294    IsTrainable         = No  
21295    CommandSet          = mi24CommandSet
21296    WeaponSet
21297      Conditions          = None 
21298      ; -----
21299      Weapon              = PRIMARY     Comanche20mmCannonWeapon
21300      PreferredAgainst    = PRIMARY     INFANTRY
21301      AutoChooseSources   = PRIMARY     FROM_PLAYER FROM_SCRIPT FROM_AI
21302      ; -----
21303      Weapon              = SECONDARY   BuggyRocketWeapon
21304      PreferredAgainst    = SECONDARY   VEHICLE STRUCTURE
21305      AutoChooseSources   = SECONDARY   FROM_PLAYER FROM_SCRIPT FROM_AI
21306      ; -----
21307      Weapon              = TERTIARY    NONE
21308    End
21309    
21310    ArmorSet
21311      Conditions      = None
21312      Armor           = ChinookArmor
21313      DamageFX        = None
21314    End
21315  
21316    ; *** AUDIO Parameters ***
21317    VoiceSelect     = CombatChinookVoiceSelect
21318    VoiceMove       = ChinookVoiceMove
21319    VoiceAttack     = CombatChinookVoiceAttack
21320    SoundAmbient    = ChinookAmbientLoop
21321    SoundAmbientRubble    = NoSound
21322    SoundEnter      = HumveeEnter
21323    SoundExit       = HumveeExit
21324    UnitSpecificSounds
21325      VoiceCreate         = CombatChinookVoiceCreate
21326      VoiceSupply         = ChinookVoiceSupply
21327      VoiceUnload         = ChinookVoiceUnload
21328      VoiceCombatDrop     = ChinookVoiceCombatDrop
21329      VoiceClearBuilding  = RangerVoiceClearBuilding ;Special combat drop that clears buildings!
21330      VoiceGarrison       = ChinookVoiceMove
21331    End
21332  
21333    ; *** ENGINEERING Parameters ***
21334    RadarPriority   = UNIT
21335    ; note that, although Chinooks aren't produced at helipads, we want to set this KINDOF so that they can land at
21336    ; (well, "near" actually) an Airfield to get healed...
21337    ; also note that we should NOT set CAN_ATTACK for chinooks. they can't attack. so there.
21338    KindOf          = PRELOAD CAN_CAST_REFLECTIONS SELECTABLE VEHICLE TRANSPORT AIRCRAFT HARVESTER SCORE PRODUCED_AT_HELIPAD CAN_ATTACK
21339  
21340  
21341    Behavior = AIUpdateInterface ModuleTag_04
21342      AutoAcquireEnemiesWhenIdle = No ATTACK_BUILDINGS Stealthed
21343    End
21344  
21345    Body = ActiveBody ModuleTag_03
21346      MaxHealth       = 180.0
21347      InitialHealth   = 180.0
21348    End
21349      Behavior = WeaponSetUpgrade ModuleTag_02
21350      TriggeredBy = Upgrade_ComancheRocketPods
21351    End
21352    Behavior = FXListDie ModuleTag_05
21353      DeathFX = FX_HelicopterStartDeath
21354    End
21355  
21356    Behavior                       = TransitionDamageFX ModuleTag_06
21357      ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuousDown
21358      ReallyDamagedFXList1         = Loc: X:0 Y:0 Z:0 FXList:FX_ComancheDamageTransition
21359    End
21360  
21361    Behavior = ChinookAIUpdate ModuleTag_07
21362      MaxBoxes                = 8
21363      SupplyCenterActionDelay = 3000     ; ms for whole thing (one transaction)
21364      SupplyWarehouseActionDelay = 1250  ; 875 ; ms per box (many small transactions)
21365      SupplyWarehouseScanDistance = 700 ;350 ; Max distance to look for a warehouse, or we go home.  (Direct dock command on warehouse overrides, and no max on Center Scan)
21366      SuppliesDepletedVoice = ChinookVoiceSuppliesDepleted
21367      NumRopes                = 4
21368      ; these define how long we can wait, once a guy is on-rope, before throwing another
21369      ; guy onto that same rope. (Hint: you don't want to use zero.) Omit entirely
21370      ; and we'll wait for each guy to clear before spawning another.
21371      PerRopeDelayMin         = 900
21372      PerRopeDelayMax         = 1500
21373      RopeWidth               = 0.5
21374      RopeColor               = R:0 G:0 B:0
21375      RopeWobbleLen           = 10
21376      RopeWobbleAmplitude     = 0.25
21377      RopeWobbleRate          = 180
21378      RopeFinalHeight         = 10    ; stop this far above ground
21379      RappelSpeed             = 30
21380      MinDropHeight           = 40      ; if dropping into a tall bldg, go at least this far above it
21381      UpgradedSupplyBoost     = 60    ; increase in value of the crates when supply lines has been upgraded
21382    End
21383    Locomotor = SET_NORMAL    HelixLocomotor
21384    Locomotor = SET_TAXIING   BasicHelicopterTaxiLocomotor
21385    
21386    Behavior = TransportContain ModuleTag_08
21387      PassengersAllowedToFire = No
21388      Slots                 = 6
21389      DamagePercentToUnits  = 100%
21390      AllowInsideKindOf     = INFANTRY 
21391      ForbidInsideKindOf    = AIRCRAFT HUGE_VEHICLE
21392      ExitDelay             = 100
21393      NumberOfExitPaths     = 1
21394      GoAggressiveOnExit = Yes ; AI Will tell people to set their mood to Aggressive on exiting
21395      ArmedRidersUpgradeMyWeaponSet = Yes
21396    End
21397  
21398    Behavior = PhysicsBehavior ModuleTag_09
21399      Mass = 50.0
21400    End
21401    Behavior = HelicopterSlowDeathBehavior ModuleTag_10
21402      DestructionDelay                = 99999999        ; the destruction delay
21403      SpiralOrbitTurnRate             = 140.0           ; in degrees per second, bigger # = tighter spiral
21404      SpiralOrbitForwardSpeed         = 350.0           ; bigger # = larger spiral
21405      SpiralOrbitForwardSpeedDamping  = .9999           ; smaller #'s = slow down faster
21406      MaxBraking                      = 190   ; max braking we can use during death spiral (lower num = wilder spiral)    
21407      SoundDeathLoop                  = ComancheDamagedLoop
21408      MinSelfSpin                     = 100                     ; in degrees per second
21409      MaxSelfSpin                     = 300                     ; in degrees per second
21410      SelfSpinUpdateDelay             = 100                     ; in milliseconds
21411      SelfSpinUpdateAmount            = 10                      ; in degrees   
21412      FallHowFast                     = 12.0%                   ; fraction of gravity, lower = take longer to fall
21413      MinBladeFlyOffDelay             = 1500                    ; in milliseconds
21414      MaxBladeFlyOffDelay             = 1500                    ; in milliseconds
21415      AttachParticle                  = SootySmokeTrail
21416      AttachParticleBone              = Propeller02
21417      BladeObjectName                 = ComancheBlades
21418      BladeBoneName                   = Propeller01    
21419      FXBlade                         = FX_HelicopterBladeExplosion
21420      OCLBlade                        = OCL_HelicopterBladeExplosion
21421      FXHitGround                     = FX_HelicopterHitGround
21422      OCLHitGround                    = OCL_HelicopterHitGround
21423      FXFinalBlowUp                   = FX_GroundedHelicopterBlowUp
21424      OCLFinalBlowUp                  = OCL_GroundedHelicopterBlowUp
21425      DelayFromGroundToFinalDeath     = 30
21426      FinalRubbleObject               = ChinookRubbleHull
21427    End
21428  
21429    Behavior = FlammableUpdate ModuleTag_21
21430      AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
21431      AflameDamageAmount = 3       ; taking this much damage...
21432      AflameDamageDelay = 500       ; this often.
21433    End
21434  
21435  
21436    
21437    Geometry              = BOX
21438    GeometryMajorRadius   = 20.0
21439    GeometryMinorRadius   = 6.0
21440    GeometryHeight        = 12.0     
21441    GeometryIsSmall       = No
21442    Shadow                = SHADOW_VOLUME    
21443    ShadowSizeX           = 89  ; minimum elevation angle above horizon. Used to limit shadow length
21444  
21445  End


Generated: Sat Mar 28 08:18:23 2009 Cross-referenced by PHPXref 0.7